本帖最后由 杨成 于 2013-4-11 01:47 编辑
可以这么理解:
new Inter() 这个是创建匿名对象(Inter是要创建的子类的父类名,因为多态,所以省略了名字,直接写它要继承的父类名)。
new Inter(){public void method(){...}} 这个是创建匿名对象,让匿名子类继承父类,添加的新方法method()。
show(new Inter(){public void method(){...}} ); show函数的参数是Inter类型,就是匿名类的父类类型,原因是多态(详细多态请复习多态)。
这样当调用show方法时,就会传递进去一个new Inter(){public void method(){...}} 继承父类Inter的匿名的类并且集成了method方法的对象,之后调用该对象的method方法。 |