“xxx“ is not an enclosing class 解决办法

亦凉 2024-03-22 08:58 122阅读 0赞

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

类的结构代码:

  1. public class OuterClass {
  2. public class InnerClass {
  3. }
  4. }

实例化内部类:

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

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

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

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

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

  1. public class OuterClass {
  2. static public class InnerClass {
  3. }
  4. }

发表评论

表情:
评论列表 (有 0 条评论,122人围观)

还没有评论,来说两句吧...

相关阅读