Java的继承;关键词super

一.继承

继承的概念:

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

继承的分类:

继承分为单继承和多继承,单继承是一个子类最多只能有一个父类;多继承是一个子类可有两个以上的父类。

注意:Java的类只支持单继承,而接口支持多继承。

继承的一般格式:

pubic class 子类名 extends 父类名{
    //关键词extends用来明确它所继承的父类
    成员变量定义;
    成员方法定义;
}

继承的原则:

1.子类无条件继承父类的无参构造方法。

2.子类如果没有定义构造方法,则会继承父类的无参构造方法;如果子类有自己的定义构造方法,则创造子类对象时,会先执行父类的无参构造,然后再执行自己的。

3.对于父类带参数的构造方法,子类需要使用super关键词来调用,并且调用语句必须是子类构造方法中的第一条执行语句。

public class Father {
    public Father(){
        System.out.println("父类的无参构造方法");
    }
}
public class Son extends Father{//子类继承父类的无参构造方法
    public Son(){
        System.out.println("子类的无参构造方法");
    }

    public static void main(String[] args){
      new Son();
    }
}

/*
输出结果:
父类的无参构造方法
子类的无参构造方法
*/

二.关键词super

用处:

1.在子类中调用父类的构造方法

2.在子类中访问父类中的成员

注意:

1.子类继承父类,子类的构造方法的第一行,默认加上super()。

2.如果父类只有有参构造方法,那么子类继承父类时会报错。

3.如果子类第一行编写this(),那么super()会挤掉,导致无法调用父类构造方法。

public class Father {
    int Age;    
    public Father(int age){
        System.out.println("父类的有参构造方法");
    }
    public Father(){
        System.out.println("父类的无参构造方法");
    }
}
public class Son extends Father{
    public Son(){
        super(1);//调用父类的有参构造方法
        System.out.println("子类的无参构造方法");
    }
    public static void main(String[] args){
    new Son();
    }
}
/*
运行结果:
父类的有参构造方法
子类的无参构造方法
*/

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值