读书人

java内部类的小疑点

发布时间: 2012-09-28 00:03:35 作者: rapoo

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就正常了

Java code
public static void main(String[] args) {        Outer a = new Outer();        Outer.Inner b=a.new Inner();    } 

读书人网 >Java相关

热点推荐