繁体   English   中英

在构造函数中设置最终值

[英]Setting final value in a constructor

我有以下问题。 我有两个类 - 一个是基础 class 和 pther 继承它。 所以在父 class 中是一个抽象 class ,它包含三个字段 - 字符串名称、字符串地址和整数年龄。 然而,在我的任务中,它说年龄的值必须默认设置为 25 岁。 我的问题是 - 如何在继承的 class 的构造函数中借助继承的方法 setAge() 实现这个值? 我的抽象构造函数如下所示:

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

和二传手:

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

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

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

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.
        …

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM