在构造函数中设置最终值
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.
…
这是一个愚蠢的例子,因为默认一个人的年龄在实际工作中不会发生。但展示的概念是合理的。
我有以下问题。我有两个 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.
…
这是一个愚蠢的例子,因为默认一个人的年龄在实际工作中不会发生。但展示的概念是合理的。