java内部类的小问题
public class Outer{
class Inner{
}
}
然后实例化内部类对象时在eclipse上报错,代码如下
public class Test1 {
public static void main(String[] args) {
Outer a = new Outer();
a.Inner b = new a.Inner();//这一步编译不通过,改成Outer.Inner b = new Outer.Inner()也报错
}
}
这是什么原因,我个人觉得不应该报错。但就是报错了,
[解决办法]
非静态的内部类 必须要有外部类的实例才能创建,你的问题是内部类的 名称写的不对a.Inner的声明不对,应该用Outer.Inner b就正常了
public static void main(String[] args) { Outer a = new Outer(); Outer.Inner b=a.new Inner(); }