问题描述
我有以下问题。我有两个类 - 一个是基类,pther 继承它。所以在父类中是一个抽象类,它包含三个字段 - 字符串名称、字符串地址和整数年龄。但是在我的任务中,它说年龄的值必须默认设置为 25 岁。我的问题是 - 如何在继承类的构造函数中借助继承方法 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;
}
如何使用默认值在继承的类中实现?
解决方法
如果超类构造函数在其构造函数中接受三个参数,而您的子类的构造函数只有两个参数,则可以调用 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.
…
这是一个愚蠢的例子,因为在实际工作中不会发生默认一个人的年龄。但所展示的概念是合理的。