Java this和super之间的区别

Java thissuper之间的区别

原文: https://howtodoinjava.com/java/basics/this-vs-super/

thissuper在 Java 中是保留的关键字this引用一个类的当前实例,而super引用该类的父类,其中使用了super关键字。

1. Java this关键字

this关键字自动保留对类的当前实例的引用。 在我们要将方法从父类继承到子类,并要专门从子类调用方法的情况下,这非常有用。

我们也可以使用此关键字来访问类中的静态字段,但是建议的方法是使用类引用来访问静态字段,例如MyClass.STATIC_FIELD

2. Java super关键字

this关键字相似,super在 Java 中也是保留关键字。 它始终保存对任何给定类的父类的引用。

使用super关键字,我们可以访问任何子类中父类的字段和方法。

3. Java thissuper关键字示例

在此示例中,我们有两个类ParentClassChildClass,其中ChildClass扩展ParentClass。 我在父类中创建了一个方法showMyName(),并覆盖了它的子类。

现在,当我们尝试使用thissuper关键字在子类中调用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

在此 Java 教程中,我们学习了this以及super关键字。 我们还学习了在 Java 应用程序中使用这两个关键字。

学习愉快!