You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

子类是否需要声明父类属性?构造器实现相关技术疑问

子类构造器无需重复声明父类属性

答案很明确:不需要在子类中重新声明父类的属性,就能完成子类构造器的实现。

子类会自动继承父类的非私有属性,你只需要在子类构造器中调用父类的构造器,就能完成父类属性的初始化,不用自己再重新定义一遍。

举个Java的例子更清楚:

父类代码

public class Parent {
    protected String name;
    protected int age;

    // 父类带参构造器
    public Parent(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

子类代码

public class Child extends Parent {
    // 子类独有的属性
    private String school;

    // 子类构造器:调用父类构造器初始化父类属性,只处理自己的新属性
    public Child(String name, int age, String school) {
        super(name, age); // 调用父类构造器,初始化name和age
        this.school = school;
    }
}

还有几个关键点要注意:

  • 如果父类有无参构造器(默认自带或者手动编写的),子类构造器里可以不用显式写super(),编译器会自动帮你调用父类无参构造器
  • 如果父类只有带参构造器,子类构造器必须显式调用super(参数列表),否则编译会报错
  • 要是父类的属性是private的,子类不能直接访问,但可以通过父类提供的get/set方法,或者父类的构造器来初始化,同样不用在子类里重新声明这些私有属性

内容的提问来源于stack exchange,提问作者Tobias Koroyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 11:50:46