在构造函数中设置最终值

Setting final value in a constructor

我有以下问题。我有两个 classes - 一个是基础 class 并且 pther 继承了它。所以在父级 class 中是一个抽象 class 并且它包含三个字段 - String name,String address 和 int age。但是在我的任务中它说年龄的值必须默认设置为 25 年。我的问题是 - 如何在继承 class 的构造函数中借助继承方法 setAge() 实现此值? 我的抽象构造函数如下所示:

public Student(String name, String adress, int age){
    this.setName(name);
    this.setAdress(adress);
    this.setAge(age);
}

和setter:

public void setAge(int age){
    this.age = age;
}

如何在继承的class中使用默认值实现?

如果超类构造函数在其构造函数中采用三个参数,而您的子类的构造函数只有两个参数,则可以调用 super 将两个参数加上第三个默认值传递给构造函数超类。

public abstract class Person
{
    // Constructor
    public Person() ( String name, String address, int age ) 
    { …

和子类。

public abstract class Student
{
    // Constructor
    public Person() ( String name, String address ) 
    { 
        super( name , address , 25 ) ;  // Default age of 25 for new `Student` objects.
        …

这是一个愚蠢的例子,因为默认一个人的年龄在实际工作中不会发生。但展示的概念是合理的。