Java继承中的super关键字

Java继承中的super关键字

super

子类访问父类成员

  • 访问父类成员方法
    super.print();

  • 访问父类属性
    super.name;

  • 访问父类构造方法
    super();

• 子类的构造的过程中必须调用其父类的构造方法

• 如果子类的构造方法中没有显示调用父类的构造方法,则系统 系默认调用父类无参的构造方法

• 如果子类构造方法中既没有显式调用父类的构造方法,而父类 又没有无参的构造方法,则编译出错

• 使用super调用父类指定构造方法,必须在子类的构造方法的 第一行

实例化顺序

继承后的初始化顺序:

1.父类静态成员
2.子类静态成员
3.父类对象构造
(属性(赋值)、构造代码块、构造方法)
4.子类对象构造
(属性(赋值)、构造代码块、构造方法)

super pk this

• this: 当前类对象的引用

  • 访问当前类的成员方法
  • 访问当前类的成员属性
  • 访问当前类的构造方法
  • 不能在静态方法中使用

• super: 父类对象的引用

  • 访问父类的成员方法
  • 访问父类的成员属性
  • 访问父类的构造方法
  • 不能在静态方法中使用

Java继承中的super关键字_第1张图片
• 构造方法调用时,super和this不能同时出现

你可能感兴趣的:(Java学习)