interface A{
public void fun1();
}
class B{
int i = 10;
public void get(A a)// 声明了一个方法get,接受一个类型为A的参数
{
a.fun1();
}
public void test(){
this.get(new A()//这里就是匿名的内部类,实现了A这个接口的类,只是是匿名的,编译的时候会自动生成一个
//类名为B$1的类,这一点你可以用cmd手动编译一下,就能看见B$1.class这样一个文件,相当于你有一个B$1
//的类实现了A这个接口,然后作为get的参数传了进去
{
public void fun1() {
System.out.println(i);
}
});
}
}
class TestNonameDemo{
public static void main(String args[]){
B b = new B();
b.test();
}
}