java内部类并实例化问题

warning: 这篇文章距离上次修改已过400天,其中的内容可能已经有所变动。
@Data
public class MailOperationContent {
    private String theme;
    private List<String> toMail;
    private List<String> ccMail;
    private List<String> bccMail;
    private List<String> fromMail;
    private BTMailSecretlevelEnum secretLevel;
    private Long mailSize;
    private Integer attachmentNum;
    private List<MailAttachmentInfo> mailAttachmentInfos = new ArrayList<>();

    @Data
    public class MailAttachmentInfo {
        private String attachmentName;
        private String attachmentSecretLevel;
    }

但是我想实例化 MailAttachmentInfo 这个类
采用:

  mailAttachmentInfo = new MailOperationContent.MailAttachmentInfo();

但是编译报错

这个时候就会出现编译错误:"xxx.OuterClass" is not an enclosing class

解决办法:若要创建内部类的实例,需要有外部类的实例才行,或者是将内部类设置为静态的。
方法一:

   mailAttachmentInfo = new MailOperationContent().new MailAttachmentInfo();

方法二:将内部类设置为静态的

 @Data
    public static class MailAttachmentInfo {
        private String attachmentName;
        private String attachmentSecretLevel;
    }
版权声明 ▶ 本网站名称:我的学习笔记
▶ 本文链接:https://ooolo.net/article/158.html
▶ 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行核实删除。
▶ 转载本站文章需要遵守:商业转载请联系站长,非商业转载请注明出处!!!

none
最后修改于:2023年04月24日 18:00

添加新评论

icon_mrgreen.pngicon_neutral.pngicon_twisted.pngicon_arrow.pngicon_eek.pngicon_smile.pngicon_confused.pngicon_cool.pngicon_evil.pngicon_biggrin.pngicon_idea.pngicon_redface.pngicon_razz.pngicon_rolleyes.pngicon_wink.pngicon_cry.pngicon_surprised.pngicon_lol.pngicon_mad.pngicon_sad.pngicon_exclaim.pngicon_question.png