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

被折叠的 条评论
为什么被折叠?



