美文网首页Java 杂谈
子类不得不需要的构造方法

子类不得不需要的构造方法

作者: 大黑跟小白的日常 | 来源:发表于2019-01-19 11:02 被阅读3次

    子类不得不需要的构造方法

    有关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);

        }

    }

    还有一种解决方法就是将父类的私有构造,放开。那么子类就不需要任何构造了。

    子类隐式默认的无参构造会默认访问父类的无参构造,只要可以访问的话。

    这样,我们就具有了一种能力,如果我们想让子类,必须具有类似于自己的构造方法,那么就将无参构造私有,提供可访问的目标构造。

    就跟一个必须需要重写的abstract方法一样

    相关文章

      网友评论

        本文标题:子类不得不需要的构造方法

        本文链接:https://www.haomeiwen.com/subject/cmvadqtx.html