资源说明:Java 中 super 和 this 的用法详解
Java 中的 super 和 this 是两个非常重要的关键字,它们都是用于访问对象的成员变量或方法的。下面我们将详细介绍 Java 中 super 和 this 的用法。
super 用法
super 关键字用于访问父类的成员变量或方法。在 Java 中,子类可以继承父类的成员变量和方法,但是子类也可以拥有自己的成员变量和方法。如果子类和父类拥有相同的成员变量或方法名,那么子类可以使用 super 关键字来访问父类的成员变量或方法。
1. 子类的成员方法访问父类的成员变量
在子类的成员方法中,可以使用 super 关键字来访问父类的成员变量。例如:
public class Animal {
public int age = 10;
}
class Dog extends Animal {
public int age = 5;
public void showAge() {
System.out.println(super.age);
}
}
在上面的例子中,Dog 类继承自 Animal 类,Dog 类的 showAge() 方法使用 super 关键字来访问父类 Animal 的 age 变量。
2. 子类的成员方法访问父类的成员方法
在子类的成员方法中,可以使用 super 关键字来访问父类的成员方法。例如:
public class Animal {
public void fn() {
System.out.println("父类 Animal 的方法");
}
}
class Dog extends Animal {
@Override
public void fn() {
super.fn();
System.out.println("子类 Dog 的方法");
}
}
在上面的例子中,Dog 类继承自 Animal 类,Dog 类的 fn() 方法使用 super 关键字来访问父类 Animal 的 fn() 方法。
3. 子类的构造方法访问父类的构造方法
在子类的构造方法中,可以使用 super 关键字来访问父类的构造方法。例如:
public class Animal {
public Animal() {
System.out.println("父类 Animal 的构造方法");
}
}
class Dog extends Animal {
public Dog() {
super();
System.out.println("子类 Dog 的构造方法");
}
}
在上面的例子中,Dog 类继承自 Animal 类,Dog 类的构造方法使用 super 关键字来访问父类 Animal 的构造方法。
this 用法
this 关键字用于访问当前对象的成员变量或方法。在 Java 中,this 关键字可以用于访问当前对象的成员变量或方法,也可以用于访问当前对象的其他成员方法。
1. 本类的成员方法访问本类的成员变量
在本类的成员方法中,可以使用 this 关键字来访问当前对象的成员变量。例如:
public class Dog extends Animal {
public int age = 1;
public void showAge() {
int age = 3;
System.out.println(age);
System.out.println(this.age);
}
}
在上面的例子中,Dog 类的 showAge() 方法使用 this 关键字来访问当前对象的 age 变量。
2. 本类的成员方法访问本类的另一成员方法
在本类的成员方法中,可以使用 this 关键字来访问当前对象的其他成员方法。例如:
public class Dog extends Animal {
public int age = 1;
public void showAge() {
int age = 3;
System.out.println(age);
System.out.println(this.age);
}
public void fn() {
this.showAge();
}
}
在上面的例子中,Dog 类的 fn() 方法使用 this 关键字来访问当前对象的 showAge() 方法。
3. 本类的构造方法访问本类的另一个构造方法
在本类的构造方法中,可以使用 this 关键字来访问当前对象的其他构造方法。例如:
public class Dog extends Animal {
public Dog() {
this(2);
System.out.println("无参构造");
}
public Dog(int age) {
System.out.println(age);
System.out.println("有参构造");
}
}
在上面的例子中,Dog 类的构造方法使用 this 关键字来访问当前对象的其他构造方法。
总结
本文详细介绍了 Java 中 super 和 this 的用法,包括 super 关键字的用法和 this 关键字的用法。通过实例代码,我们可以看到 super 和 this 关键字的使用场景和优点。在编程中,正确地使用 super 和 this 关键字可以提高代码的效率和可读性。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。