我正在尝试向我自己解释java多态性,所以我只是创建了一个项目,显示Family
是SuperClass
和SubClasses are
兄弟姐妹们
事情就是当我编译时,我收到一个错误说
Cannot find the Constructor Sisters
Cannot find the Constructor Brothers
有人可以向我解释一下吗?
谢谢你们。
class Family {
private String name,age;
public Family(String name,String age){
this.name = name;
this.age = age;
}
public String toString(){
return "name : " + name + "\tage " + age ;
}
}
class Brothers extends Family{
public Brothers(String name, String age){
super(name,age);
}
}
class Sisters extends Family{
public Sisters(String name, String age){
super(name,age);
}
}
class FamilyTest{
public static void main(String[] args){
Family[] Member= new Family[3];
Member[1] = new Sisters("LALA",22);
Member[2] = new Brothers("Mike",18);
}
}
答案 0 :(得分:3)
您将age
定义为String,但是将整数传递给它。
Member[1] = new Sisters("LALA", "22");
Member[2] = new Brothers("Mike", "18");
应该可以工作,但我建议你将age
从String更改为int。
答案 1 :(得分:1)
public static void main(String[] args)
{
Family[] Member= new Family[3];
Member[1] = new Sisters("LALA","22");
Member[2] = new Brothers("Mike","18");
}
用此代码替换main(),
错误是:sisters
和brothers
的构造函数的参数是String,但是您将age
作为Integer
传递。
Sugggestion:您可以将年龄类型更改为int
,这更正确。
答案 2 :(得分:0)
请注意,这只是您可以在Java中使用的多态类型之一,其他类型是Generics
和Function overloading