阅读量:108
在Java中,super关键字用于引用父类(超类)的一个对象。它主要有两种用途:
- 访问父类的成员变量(尽管这通常被认为是不良的编程实践,因为它破坏了封装性):
class Parent {
int x = 10;
}
class Child extends Parent {
int x = 20;
void printBothX() {
System.out.println("Child x: " + x);
System.out.println("Parent x: " + super.x);
}
}
- 调用父类的成员方法或构造方法:
class Parent {
void printHello() {
System.out.println("Hello from Parent");
}
}
class Child extends Parent {
void printHello() {
System.out.println("Hello from Child");
}
void callParentPrintHello() {
super.printHello(); // 调用父类的printHello()方法
}
}
- 在子类构造方法中调用父类的构造方法:
class Parent {
Parent(String message) {
System.out.println(message);
}
}
class Child extends Parent {
Child() {
super("Hello from Parent's constructor"); // 调用父类的构造方法
}
}
总之,super关键字在Java中用于访问和操作父类的成员和方法。