Java中super关键字、super关键字与this关键字的区别

文章目录

  • 1 super关键字
    • 1.1 super用于方法
      • 1.1.1 用于构造方法
      • 1.1.2 用于普通方法
      • 1.1.2 用于属性
  • 2 super与this关键字的区别
    • 2.1 概念上
    • 2.2 查找范围
    • 2.3 特殊之处

1 super关键字

1.1 super用于方法

1.1.1 用于构造方法

Java中super关键字、super关键字与this关键字的区别_第1张图片
子类的构造函数里,其实默认调用的是父类的无参构造,此时super()可写可不写。
Java中super关键字、super关键字与this关键字的区别_第2张图片
当子类向调用父类的有参构造时,super(参数列表)必须要写,要告诉编辑器调用的是哪个有参构造!
Java中super关键字、super关键字与this关键字的区别_第3张图片
在子类构造方法中调用父类构造方法必须是第一行语句!

1.1.2 用于普通方法

Java中super关键字、super关键字与this关键字的区别_第4张图片
  用于在子类中明确调用父类被覆写的方法!

1.1.2 用于属性

Java中super关键字、super关键字与this关键字的区别_第5张图片
  表示调用父类中的属性!

2 super与this关键字的区别

Java中this关键字详解

2.1 概念上

this:访问本类中的属性及方法。
super: 由子类访问父类中的属性、方法。

2.2 查找范围

this:先找本类,如果本类没有就调用父类。
super:不查找本类直接调用父类。
Java中super关键字、super关键字与this关键字的区别_第6张图片
Java中super关键字、super关键字与this关键字的区别_第7张图片

2.3 特殊之处

this:可以表示当前对象!
super:不可以 !

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