1. 错误原因
该错误一般出现在对内部类进行实例化时,例如
public class A{
public class B{ }
}
此时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方法
2023-07-24 10:45:22
该错误一般出现在对内部类进行实例化时,例如
public class A{
public class B{ }
}
此时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方法