抽象类和接口通常是无法实例化的,因为里面包含没有实现的方法。
当抽象类中的所有方法都实现或者接口中只有数据成员而无成员函数或者成员函数都已经实现时,可以通过以下方法实例化。
abstract class E{
void doSomething(){
System.out.println("hello !");
}
}
public class Abstract{
public static void main(String[] args){
E e = new E(){};
e.doSomething();
//System.out.println("what's wrong?");
}
}
注意红色区域,当定义为抽象类或接口后,即使里面方法都已经实现,要初始,还是要通过 匿名内部类空实现的方式实现。