匿名內部類
new IPlayGame(){
public void playGame(){
System.out.println("使用匿名內部類的方式實現接口2");
}
}.playGame();
為什么可以沒有定義對象直接調用方法?
new IPlayGame(){
public void playGame(){
System.out.println("使用匿名內部類的方式實現接口2");
}
}.playGame();
為什么可以沒有定義對象直接調用方法?
2016-08-13
舉報
2016-08-13
這不是匿名內部類特有的調用方法,別的類也可以這樣調用。
比如:
new Psp().playGame(); //不用新建psp對象,也可以調用playGame()方法
匿名內部類本身就是個類,所以別的類怎么調用,她就怎么調用。
2016-08-13
普通申明一個對象是這樣的 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