super关键字

  1. super关键字和this关键字对比来学习。this代表的是当前对象。super代表的是当前对象中的父类型特征
  2. super不能使用在静态上下文中
  3. “super.”大部分情况下是可以省略的。什么时候不能省略?
  • 当父类和子类中定义了相同的属性(实例变量)或者相同方法(实例方法)时,如果需要在子类中访问父类的属性或方法时,super.不能省略
  1. this可以单独输出,super不能单独输出
  2. super (实参);通过子类的构造方法调用父类的构造方法,目的是为了完成父类型特征的初始化
public class Person {
    String name;
    int age;
    int sex;
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

class E extends Person{
    int sex;
    public E(String name, int age,int sex) {
        super(name, age); //复用父类的构造方法完成变量初始化
        this.sex = sex;
    }
}


  1. 当一个构造方法第一行没有显示的调用“super(实参):”,也没有显示的调用“this(实参)”,系统会自动调用super()。因此一个类中的无参数构造方法建议显示的定义出来
  • super()方法是为了给父类的变量进行初始化,所以必须得有
  1. super(实参)这个语法只能出现在构造函数第一行

  2. 在Java语言中只要new对象,Object的无参构造方法一定执行

super内存图

posted @ 2025-07-05 10:39  如夢初醒  阅读(7)  评论(0)    收藏  举报