关于内部类的问题。求助。。
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() 方法!!!