美文网首页
"xxx" is not an enclosing class

"xxx" is not an enclosing class

作者: 黄德志 | 来源:发表于2019-04-08 17:16 被阅读0次

    当我们在创建java内部类的实例时候,可能会遇到这种编译错误:"xxx" is not an enclosing class

    类的结构代码:

    public class OuterClass {
        public class InnerClass {
    
        }
    }
    

    实例化内部类:

      OuterClass.InnerClass innerClass = new OuterClass.InnerClass();
    

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

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

        OuterClass.InnerClass innerClass = new OuterClass().new InnerClass();
        /*OuterClass outerClass = new OuterClass();
        OuterClass.InnerClass innerClass = outerClass.new InnerClass();*/
    

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

    public class OuterClass {
        static public class InnerClass {
    
        }
    }
    

    相关文章

      网友评论

          本文标题:"xxx" is not an enclosing class

          本文链接:https://www.haomeiwen.com/subject/zsepiqtx.html