阐述rhis和super关键字已经如何显示调用父类的构造方法
时间: 2024-12-01 09:30:11 浏览: 9
`this` 和 `super` 是Java中的两个关键字,它们在创建新对象的过程中起着关键作用。
`this` 关键字用于区分当前对象的属性和方法与父类或同名成员变量。当你需要访问自身的成员变量时,可以使用 `this`。例如:
```java
class Parent {
int num;
Parent(int n) {
this.num = n; // 使用 this 调用自身构造函数,防止与父类可能存在的同名字段冲突
}
}
class Child extends Parent {
int otherNum;
Child(int n, int o) {
super(n); // 使用 super 调用父类的构造方法,传入n值给父类的num
this.otherNum = o;
this.num = o; // 这里也可以使用 this 调用自己的 num 变量,但这不是必须的
}
}
```
`super` 关键字则用于直接调用父类的构造方法。当子类有多个构造函数并且你想在子类的一个构造函数中初始化父类的实例时,会用到 `super`。通常第一个构造函数会默认调用父类的无参构造,如果你想要指定参数传递给父类,就需要显式地使用 `super()`。
```java
Child(int o) {
super(o); // 显式调用父类的构造方法,将o值传递给Parent的num
this.otherNum = o;
}
```
阅读全文