Java SE笔记: Super关键字

Super关键字

  1. super不是引用类型,super中存储的不是内存地址,super指向的不是父类对象.
  2. super代表的是当前子类对象中的父类型特征。
    • 通过子类的构造方法去调用父类的构造方法,作用是:给当前子类对象中的父类型特征赋值。
    • super(…);调用了父类中的构造方法,但是并不会创建父类对象。所以,java中,构造方法执行不一定创建对象!!!
  3. 什么时候使用super?
    • 子类和父类中都有某个数据,例如,子类和父类中都有name这个属性。
    • 如果要再子类中访问父类中的name属性,需要使用super.
  4. super可以用在什么地方?
    • super可以用在成员方法中.不能用在静态方法中.
    • super可以用在构造方法中.

super关键字用在构造方法中:

  • 语法:super(实参);
  • 作用:通过子类的构造方法去调用父类的构造方法.
  • 语法规则:一个构造方法第一行如果没有this(…);也没有显示的去调用super(…);
  • 系统会默认调用super();

注意: super(…);的调用只能放在构造方法的第一行.

  • super(….)和this(….)不能共存。(因为this(…)也只能放在构造方法的第一行,所以两者肯定不能共存!)
  • 通过子类的构造方法去调用父类的构造方法,作用是:给当前子类对象中的父类型特征赋值。
  • super(…);调用了父类中的构造方法,但是并不会创建父类对象。
  • 在java语言中只要是创建java对象,那么Object中的无参数构造方法一定会执行。
文章目录
  1. 1. Super关键字
    1. 1.1. super关键字用在构造方法中: