问答详情
源自:10-5 Java 中的接口

匿名内部类

new IPlayGame(){

public void playGame(){

System.out.println("使用匿名内部类的方式实现接口2");

}

}.playGame();

为什么可以没有定义对象直接调用方法?

提问者:yuhq 2016-08-13 10:24

个回答

  • elec_Russell
    2016-08-13 20:27:52

    这不是匿名内部类特有的调用方法,别的类也可以这样调用。

    比如:

    new Psp().playGame(); //不用新建psp对象,也可以调用playGame()方法

    匿名内部类本身就是个类,所以别的类怎么调用,她就怎么调用。

  • wh919843180
    2016-08-13 11:03:47

    普通申明一个对象是这样的 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