Java基础巩固系列 super关键字

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

1)当子类与父类中有同名的属性时,可以通过“super.此属性”显式的调用父类中声明的属性

若想调用子类的同名的属性“this.此属性” 。

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

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

     >在构造器内部,“super(形参列表)”必须要在首行

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

     >当构造器中不显式地调用“this(形参列表)或”super(形参列表)“其中任何一个,默认调用的是父类空参额构造器

     建议:设计一个时,尽量要提供一个空参的构造器

代码示例:

public class Person {
    protected String name;
    protected int age;
    int id = 1001;

    public Person() {

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void eat(){
        System.out.println("吃饭");
    }

    public void walk(){
        System.out.println("走路");
    }
}


public class Student extends Person {
    String schoolName;
    int id = 1002;

    public void show() {
        System.out.println(this.id);
        System.out.println(super.id);
        super.walk();
    }

    public void eat() {
        System.out.println("学生在吃饭");
    }

    public void info() {
        this.eat();
        super.eat();
    }

    public String getSchoolName() {
        return schoolName;
    }

    public void setSchoolName(String schoolName) {
        this.schoolName = schoolName;
    }


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

public class TestMain {
    public static void main(String[] args) {
        Student student = new Student();
        student.show();
        student.info();
    }
}

结果:

1002
1001
走路
学生在吃饭
吃饭

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值