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
如何解决?

解决方案 »

  1.   

    E:\javaprogram>javac Inner.java
    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();又是什么意思呢?
      

  2.   

     Inner a = new Inner();
     a.new In1().pri();
      

  3.   

    回复人: onray(39度) ( ) 信誉:100  2005-09-14 00:02:00  得分: 0  
     
     
         Inner a = new Inner();
     a.new In1().pri();
     ===========================================================================
    编译通过  没有任何问题,谢谢。原来是先要实例化外部类,再实例内部类,然后在调用方法。