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

来源:互联网 发布:淘宝买家评价修改 编辑:程序博客网 时间:2024/05/22 16:32

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
原创粉丝点击