如果有一个类的结构如下:
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();
Java内部类实例化详解
本文详细解析了Java中如何正确实例化内部类,区分了普通内部类与静态内部类的不同实例化方式,帮助读者避免常见的编译错误。
948

被折叠的 条评论
为什么被折叠?



