Java学习笔记之Super关键字学习。

super:可用来修饰属性、方法、构造器。

1)当之类与父类中有同名属性时,可以通过"super.此属性"显示的调用父类中声明的属性。若想调用子类的同名属性可以使用:this.同名属性。


2)当子类重写父类的方法后,在子类中若想再显示的调用父类的被重写的方法,就需要用"super.方法"。


3)super修饰构造器:通过在子类中使用super(形参列表)来显示的的调用父类中指定的构造器。

>在构造器内部,super(形参列表)必须声明在首行!

>在构造器内部,this(形参列表)与super(形参列表)只能出现一个!

>在构造器中,如果不显示的调用this(形参列表)与super(形参列表)时,默认的调用父类的空参构造器即:super();

4)建议:在设计一个类时:尽量提供一个空参的构造器!


class Creature {
    public Creature() { // 无参构造器
        System.out.println("Create Constructor with no arguments");
    }
}

class Animal extends Creature {
    public Animal(String name) {
        // 如果没写this()或者super()默认调用super()public Creature()
        System.out.println("Animal带一个参数的构造器,该动物的名字为" + name);
    }

    public Animal(String name, int age) {
        this(name);
        System.out.println("Animal带两个参数的构造器,该动物的年龄为" + age);
    }
}

public class Wolf extends Animal {
    public Wolf() {
        super("灰太狼", 3);
        System.out.println("Wolf无参构造器");
    }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值