new IPlayGame(){
public void playGame(){
System.out.println("使用匿名内部类的方式实现接口2");
}
}.playGame();
为什么可以没有定义对象直接调用方法?
这不是匿名内部类特有的调用方法,别的类也可以这样调用。
比如:
new Psp().playGame(); //不用新建psp对象,也可以调用playGame()方法
匿名内部类本身就是个类,所以别的类怎么调用,她就怎么调用。
普通申明一个对象是这样的 A a = new A(); 那么这个时候a就是类A的一个对象,这个对象名字就是a 再来看下面一个例子: method(A a); 整理method是一个方法,他需要传递一个对象来作为参数,那么这个时候有2种方法: 方法1: A a =new A(); method (a); 方法2: method (new A()); 方法2中new A()就是一个匿名对象,他没有名字。这样可以理解了吧。
出处:
http://wenda.so.com/q/1378861635069129?src=140