抽象类是否有构造器,可以创建对象吗?为什么?
抽象类是为了被子类继承,子类必须调用父类构造器,所以抽象类必须存在构造器,它的构造器是给子类调用使用的。 抽象类虽然有构造器,但是依然不能创建对象。 请看如下代码,假如Employee是抽象类:
abstract class Employee{
public abstract void work();
}
现在认为抽象类可以创建对象,于是:
Employee e = new Employee();
e.work(); // 但是抽象方法无法直接执行的!所以抽象类不能创建对象。
其次、抽象本身意味着不可以实例化。