子类不得不需要的构造方法
有关private、protected修饰构造方法,对子类的影响
先看一段代码
public class AC {
protected String s;
privateAC () {}
protected AC(String s){
this.s = s;
}
public AC getAc() {
return new AC();
}
}
它说,没有一个可以访问父类构造的入口,父类的默认构造是不可见的。
所以需要找一个入口,能访问父类构造。
看错误解决提示
需要添加一个子类构造,子类构造中访问父类中可访问的构造,如下
public class ACSub extends AC {
protected ACSub(String s) {
super(s);
}
}
还有一种解决方法就是将父类的私有构造,放开。那么子类就不需要任何构造了。
子类隐式默认的无参构造会默认访问父类的无参构造,只要可以访问的话。
网友评论