由于抽象类无法实例化,为什么构造函数仍然允许在抽象类中?

时间:2017-07-05 06:34:09

标签: java

什么是纯虚函数?构造函数是什么?

public abstract class AmAbstract
{
    private String name;
    public  AmAbstract(){
    }
    public  AmAbstract(String name){
    }
}

1 个答案:

答案 0 :(得分:1)

抽象类的具体子类的构造函数仍然必须调用其超类的构造函数,即使它是抽象类。

也就是说,抽象类构造函数没有理由拥有public访问权限。 protected访问就足够了。

public class Concrete extends AmAbstract
{
    public Concrete () {
        super (); // invoke the constructor of the abstract class
    }
    public Concrete (String name){
        super (name); // invoke the constructor of the abstract class
    }
}