java继承如何赋值
继承中的属性赋值
在Java中,子类继承父类后,可以通过构造函数或直接访问(若权限允许)对父类属性进行赋值。父类私有属性需通过父类提供的公有方法(如setter)间接赋值。

通过构造函数赋值
子类构造函数中通过super()调用父类构造函数完成父类属性初始化。若父类有无参构造函数,子类可隐式调用;若父类只有带参构造函数,子类必须显式调用。

class Parent {
protected int parentField;
Parent(int value) {
this.parentField = value;
}
}
class Child extends Parent {
Child(int parentValue, int childValue) {
super(parentValue); // 显式调用父类构造函数
this.childField = childValue;
}
private int childField;
}
通过setter方法赋值
若父类属性为private且提供公有setter方法,子类可通过该方法赋值:
class Parent {
private int parentField;
public void setParentField(int value) {
this.parentField = value;
}
}
class Child extends Parent {
void initialize() {
setParentField(100); // 通过父类setter赋值
}
}
直接访问protected属性
父类protected属性可直接在子类中访问并赋值:
class Parent {
protected int parentField;
}
class Child extends Parent {
void initialize() {
parentField = 200; // 直接访问protected属性
}
}
注意事项
- 父类私有属性无法直接访问,必须通过公有或受保护方法操作
- 构造函数调用
super()必须放在子类构造函数首行 - 静态属性和方法遵循相同规则,但属于类级别而非实例级别






