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方法