抽象类的确不能实例化。
抽象类在没有实现所有的抽象方法前是不可以通过new来构建该对象的。
但是往往人们会误解以下这种格式
//匿名内部类
new TestAbs(){
要重写的抽象方法
}
实际上是实例化一个它的子类。其实就相当于下面这样,只是匿名不匿名的区别。
class Test extends TestAbs{
@Override
public void printMessage(String msg){
System.out.println(msg);
}
}
TestAbs a = new Test();
a.printMessage("aaa");