继承中:构造方法的访问特点

目录

构造方法的的访问特点

为什么?

如何调用父类的构造方法?


根据前两节的学习,可知父类中的构造方法既不能被继承,也不能被重写

,但是构造方法和其它方法一样可以被重载。


构造方法的的访问特点

  • 父类中的构造方法不会被子类继承(但可调用)
  • 子类中的所有构造方法默认先访问父类中的无参构造,再执行自己


public class Person {
//    属性
    String name;
//    无参
    public  Person(){
System.out.println("看看父类的无参构造是否会被子类的无参调用");
    }
//    有参
    public  Person(String name){
        this.name=name;
    }

}

public class Teacher extends Person {
//    无参
    public  Teacher(){
        // 无任何操作
    }
    public Teacher (String name){
        super(name);
    }
}

public class Test {
    public static void main(String[] args) {
        // 创建子类对象
        Teacher t1=new Teacher();//看看父类的无参构造是否会被子类的无参调用
/*
 由此可知 虽然子类中的 无参构造方法 没有调用父类的无参构造,
 但是虚拟机会默认生成一个super(),来访问父类中的无参构造
因此控制台会打印出父类无参构造中的内容
*/

    }
}


为什么?

  • 子类在初始化的时候,有可能会使用到父类中的数据,如果父类没有完成初始化,子类将无法使用父类的数据
  • 子类初始使化前,一定要调用父类的构造方法来完成父类数据空间的初始化。

如何调用父类的构造方法?

  • 子类构造方法的第一行语句默认都是:super() ,不写也存在,且必须是第一行
  • 如果想调用父类的有参构造,必须手写super进行调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成果、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值