当前位置: 代码迷 >> 综合 >> 解决内部类生成时候的错误 xxxxx is not an enclosing class
  详细解决方案

解决内部类生成时候的错误 xxxxx is not an enclosing class

热度:100   发布时间:2023-09-27 02:16:33.0

如果有一个类的结构如下:
public class Data {
public class Item {

}
};

如果需要实例化Item类时,可能会写成:Data.Item item = new Data.Item();
但是编译器就会出现一个错误:‘com.test.Data.Item’ is not an enclosing class
其实这种写法是错误的,正确的方式为:
Data data = new Data();
Data.Item item = data.new Item();

如果内部类是static的,如下:
public class Data {
public static class Item {

}
};

那就可以直接使用如下方式来实例化:Data.Item item = new Data.Item();

  相关解决方案