class Inner{
private int i;
class In1{
void pri(){
System.out.println(i);
}
}
public static void main(String[]args){
new Inner().In1().pri();
}
}
编译结果是这样的
E:\javaprogram>javac Inner.java
Inner.java:9: cannot find symbol
symbol : method In1()
location: class Inner
new Inner().In1().pri();
^
1 error
如何解决?
private int i;
class In1{
void pri(){
System.out.println(i);
}
}
public static void main(String[]args){
new Inner().In1().pri();
}
}
编译结果是这样的
E:\javaprogram>javac Inner.java
Inner.java:9: cannot find symbol
symbol : method In1()
location: class Inner
new Inner().In1().pri();
^
1 error
如何解决?
Inner.java:9: non-static variable this cannot be referenced from a static contex
t
new Inner.In1().pri();
^
1 error
这样的话必须把In1 and pri设为静态的了。
不过也只是差一步了。 new Inner.In1().pri();又是什么意思呢?
a.new In1().pri();
Inner a = new Inner();
a.new In1().pri();
===========================================================================
编译通过 没有任何问题,谢谢。原来是先要实例化外部类,再实例内部类,然后在调用方法。