-1 java inheritance
向子类添加第二个方法时,会出现上述错误.
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
}
Run Code Online (Sandbox Code Playgroud)
错误告诉你所有.实现接口意味着您可以使您的类达到接口的合同.接口保证:每个实现我的非抽象类都为我声明的所有抽象方法提供了一个实现.这可能是因为它们包含它,或者通过从父类继承它.
interface Animal{
public boolean roar();
// public boolean gender(); <-- this method
}
Run Code Online (Sandbox Code Playgroud)
如果在这里添加第二种方法,您还需要提供一个实现:
class Cat implements Animal{
public boolean roar(){
return true;
}
public boolean gender() {
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
这将解决您的问题.但是boolean对于' roar'或' gender'来说似乎很奇怪.