在子类中添加第二个方法时,会出现上述错误。
package roar;
public class Roar {
public static void main(String[] args) {
Animal a[] = new Animal[1];
a[0] = new Cat();
System.out.println(a[0].roar());
}
}
class Cat implements Animal{
public boolean roar(){
return true;
}
}
interface Animal{
public boolean roar();
// public boolean gender(); <-- this method
}
答案 0 :(得分:6)
错误告诉大家。实现一个接口意味着您要按照该接口的约定来保持您的课程。接口保证:实现我的每个非抽象类都为我声明的所有抽象方法提供实现。这可能是因为它们包含它,或者是从父类继承它。
interface Animal{
public boolean roar();
// public boolean gender(); <-- this method
}
如果在此处添加第二种方法,则还需要提供一个实现:
class Cat implements Animal{
public boolean roar(){
return true;
}
public boolean gender() {
return true;
}
}
这将解决您的问题。但是,为boolean
或roar
使用gender
似乎很奇怪。