public interface MyInterface{
public int myMethod();
}
public class SuperClass {
public String myMethod(){
return "Super Class";
}
}
public class DerivedClass extends SuperClass implements MyInterface {
public String myMethod() {...} // this line doesn't compile
public int myMethod() {...} // this is also unable to compile
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译时,DerivedClass它给了我错误
java: myMethod() in interfaceRnD.DerivedClass cannot override myMethod() in interfaceRnD.SuperClass return type int is not compatible with java.lang.String
我该如何解决这个问题?
在C#中,如果您有两个具有相同方法的基接口(例如,F()),则可以使用显式实现来执行不同的impl.对于F().这使得您可以根据当前的观点对待不同的对象:作为IMyInterface1或IMyInterface2.这在Java中可行吗?