this
和 super
是 Java 中的保留关键字。
this
指的是一个类的当前实例,而 super
指的是该类的父类,其中使用了 super
关键字。
1.Java this关键字
this
关键字自动保存对当前类实例的引用。
在我们从父类继承一个方法到子类中,并且想要专门从子类调用方法的场景中,它非常有用。
我们也可以使用这个关键字来访问类中的静态字段,但推荐使用类引用访问静态字段的方法,例如
MyClass.STATIC_FIELD 。
www. On IT Road .com
2.Java super 关键字
与 this 关键字类似,super 也是 Java 中的保留关键字。
它始终持有对任何给定类的父类的引用。
使用 super 关键字,我们可以在任何子类中访问父类的字段和方法。
3. Java this 和 super 关键字示例
在这个例子中,我们有两个类 ParentClass
和 ChildClass
,其中 ChildClass 扩展了 ParentClass 。
我在父类中创建了一个方法 showMyName()
并覆盖它的子类。
现在,当我们尝试使用 this 和 super 关键字在子类中调用 showMyName()
方法时,它分别调用当前类和父类中的方法。
public class ParentClass { public void showMyName() { System.out.println("In ParentClass"); } }
public class ChildClass extends ParentClass { public void showMyName() { System.out.println("In ChildClass"); } public void test() { this.showMyName(); super.showMyName(); } }
public class Main { public static void main(String[] args) { ChildClass childObj = new ChildClass(); childObj.test(); } }
输出:
In ChildClass In ParentClass
日期:2020-09-17 00:09:58 来源:oir作者:oir