关于构造函数

父类有参构造函数的作用

  • 子类不能继承父类的构造函数
  • 子类继承父类后,如果想要初始化,必须保证父类已经被构造,此时就需要super关键字,父类存在无参构造时子类不需要显示调用即可继承,此时已经构造了父类,子类可初始化
  • 父类的私有属性和方法不能被直接继承,此时就需要用有参构造来继承父类的private属性,代码如下:
/**建立一个公共动物父类*/
public class Animal {
    private String name;
    private int id;
    /*由于name和id都是私有的,所以子类不能直接继承,
    需要通过有参构造函数进行继承*/
    public Animal(String myname,int myid) {
        name = myname;
        id = myid;
    }
    public void eat() {
        System.out.println(name+"正在吃");
    }
    public void sleep() {
        System.out.println(name+"正在睡");
    }
    public void introduction() {
        System.out.println("大家好!我是"  +id+"号"+name +".");
    }

}
public class Penguin extends Animal {
    public Penguin(String myname,int myid) {
        super(myname,myid); // 声明继承父类中的两个属性
    }
}
public class PenguinQQ {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Penguin QQ = new Penguin("小冰",10086);
        //调用一个有参构造方法
        QQ.eat();
        QQ.sleep();
        QQ.introduction();
    }
}

--输出结果:

小冰正在吃
小冰正在睡
大家好!我是10086号小冰.
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容