1. 错误原因
该错误一般出现在对内部类进行实例化时,例如
1 public class A{ 2 public class B{ } 3 }
此时B是A的内部类,如果我们要使用如下语句实例化一个B类的对象:
A.B b = new A.B()
则会报错:B is not an enclosing class
2. 解决办法
方法一:若要创建内部类的实例,首先要创建外部类的实例;
A a = new A(); A.B b = a.new B();
方法二:将内部类的方法都设置为static方法
该错误一般出现在对内部类进行实例化时,例如
1 public class A{ 2 public class B{ } 3 }
此时B是A的内部类,如果我们要使用如下语句实例化一个B类的对象:
A.B b = new A.B()
则会报错:B is not an enclosing class
方法一:若要创建内部类的实例,首先要创建外部类的实例;
A a = new A(); A.B b = a.new B();
方法二:将内部类的方法都设置为static方法
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。