在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中用于访问和操作父类的成员和方法。