我有一个人类 Human.java
我也有一个教师班
但我无法将超级构造函数添加到我的Retired_teacher
public class Retired_teacher extends Teacher{
public int retirement_year;
Retired_teacher(Teacher t, int ry_){
super Teacher(name,surname,age,gender);
String na=get_name();
System.out.println("A new teacher " + na + " " + surname + "is constructed");
System.out.println("A teacher is retired");
retirement_year=ry_;
超级正在犯错误如何解决这个问题
答案 0 :(得分:1)
您正在呼叫super
错误,您应该致电:
super(name,surname,age,gender);
无需课程名称。
同样在你的Teacher
课程中,构造函数正在使用 5 参数,而这里只提供 4 。所以请记住,除非你添加另一个参数,否则这不会起作用。
答案 1 :(得分:0)
您定义了一个Teacher类及其构造函数。
Teacher(String na_,String sur_,int a,String g_,String le_);
但你在做:
super Teacher(name,surname,age,gender);
并且没有在该类中定义这样的构造函数...
所以你需要重载构造函数并创建
Teacher(String na_,String sur_,int a,String g_);
或彻底传递args。
PS :在我的意见中,Retired_teacher是教师,但boolean
成员设置为false(有效或无效),
为成员的变化创建一个新类可能太多了。