什么是这种类型的初始化调用,为什么使用它?

Animal是一个用户定义的类。

Animal D = new Animal("Leo") { @Override public void makeNoise() { System.out.println("Roar!"); } }; D.makeNoise(); 

它被称为匿名类 ,用于同时定义类和任何重写的方法。

那是一个匿名课程。 有关匿名类及其有用的原因的详细信息,请参阅本教程中的匿名类。

这用于覆盖初始值

 Animal.makeNoise() 

仅适用于此实例的自定义方法。