java父类变量的显式赋值和构造器赋值
时间: 2024-10-11 08:13:18 浏览: 33
在Java中,父类变量的显式赋值和构造器赋值是两个不同的概念:
1. **显式赋值**:
当你在子类的初始化块(constructor body)或成员初始化块(instance initializer block)中直接对父类的字段进行赋值时,这被称为显式赋值。例如:
```java
class Parent {
private String parentField;
}
class Child extends Parent {
// 显式赋值
{ parentField = "Child-specific value"; } // 初始化块内的赋值
}
```
这种方式可以直接设置父类字段的初始状态。
2. **构造器赋值**:
在子类的构造函数中,你可以通过super关键字调用父类的构造器,并将父类的字段传递过去。这种方式会在创建子类实例时自动完成:
```java
class Parent {
public Parent(String parentField) {
this.parentField = parentField;
}
private String parentField;
}
class Child extends Parent {
// 构造器赋值
public Child(String childField) {
super("Parent's default or passed value"); // 调用父类构造器并传入值
this.childField = childField; // 子类自己的字段赋值
}
}
```
在这里,`super(parentField)`会根据传入的参数给`parentField`字段设置值。
阅读全文