[英]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.