interface Hierarchy {
}
class Sub1 implements Hierarchy {
}
public class Ob {
public static void main(String[] args) {
Hierarchy hie = new Hierarchy(){};//not getting error line 11
Hierarchy hie1 = new Hierarchy();//while creating like this error line 12
}
}
hie
对象创建完美,但hie1
没有创建引发以下错误Hierarchy is abstract cannot be instantiated
请告诉我,如果我将
{}
放在第11行中会发生什么,实际上是什么,为什么当我放入{}
时它不会引发错误。 最佳答案
在new
运算符(例如Hierarchy hie = new Hierarchy(){};
)之后添加一个块会创建一个实现该接口的匿名类,并返回该接口的一个实例。由于您的Hierarchy
接口为空,因此您无需执行任何操作。但是,如果定义了任何方法,则必须在该块中实现它们。