java学习记录day9----super关键字学习

public class Fa {
    public String id;
    public String name;

    //无参构造器
    public Fa() {
        System.out.println("父类无参构造器执行啦");
    }

    //有参构造器
    public Fa(String id, String name) {
        this.id = id;
        this.name = name;
    }
    public void work(){
        System.out.println("爸爸认真学习");
    }
}
class zi extends Fa {
    public zi() {
        System.out.println("子类无参构造器执行啦");
    }
    public zi(int age) {
        super("250", "haha");
        System.out.println("年龄"+age);
        System.out.println("我的ID是:"+id+"我的名字是"+name);
    }

    public zi(String id, String name) {
        super("5201", "haha");
        System.out.println("子类有参构造器" + name);
    }
    @Override
    public void work(){
        super.work();
        System.out.println(super.name+"儿子认真学习");

}
    //定义测试类
    public class TestFa {
        public static void main(String[] args) {
            zi z = new zi();
            System.out.println(".....................");
            zi yi = new zi(20);
            System.out.println(".....................");
            zi you = new zi("1314", "hahaha");
            yi.work();
        }
    }

子类所有构造器默认调用父类的无参构造函数(其实是默认省略掉了一行代码:super();如果需要添加必须放在第一行,否则报错;
super(…)根据参数匹配去调用父类的构造器,可以让父类的构造器帮助初始化对象;
super用在本类中访问父类成员:
super.父类成员变量
super.父类成员方法
super(…);在本类构造器中访问父类其他构造器。
衍生:this(…):在本类构造器中访问本类其他构造器。
super(…)和this(…)不能同时出现在构造器中,因为都要在第一行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值