JAVA为什么抽象类不能用构造方法直接创建对象

2024-11-19 14:46:01
推荐回答(3个)
回答1:

抽象类不象具体类那样描述一类具体事物,它是提取多种具有相似性的具体事物的共同特征而产生的,比如,helicoptor, jet, fighter父类plane,有start(),takeOff(),speedUp(),changeDirection()等方法,这是共性,但现实中有一个具体的plane吗?没有,它是抽象出来的,根本不存在。所以实例化一个plane是没有意义的,因此面向对象程序设计机制禁止对象实例化

回答2:

抽象类可以声明对象,但是不能使用自身的构造方法创建对象,但是可以使用子类的构造方法进行创建。
public abstract class A{}
public class B extends A{}

A a = new B();

回答3:

是一个抽象的东西,是我们随意想象的,不是现实生活中存在的实体。