日期:2014-05-20  浏览次数:20582 次

关于内部类的问题。求助。。
class Test{
private int i = 32;
private void f(){
System.out.println("f()");
}
public void h(){
new Object(){
void g(){
i ++;
f();
}
}.g();                        //这一行是什么意思???
System.out.println("i = " + i);
}
public static void main(String[] args){
Test t = new Test();
t.h();
}
}

谢谢大神们。。。

------解决方案--------------------
new Object(){
      void g(){
               i ++;
               f();
              }
           }.g(); 
这个是匿名内部类 这个意思是创建一个object类的子类对象并写一个g()方法
注意new Object(){
      void g(){
               i ++;
               f();
              }
           }
一直到这个部分都是创建object子类对象的过程 .g() 是方法调用
也就是      子类对象.g() 方法!!!