返回类型和多继承?
interface i1{
int test();
}
interface i2{
String test();
}
class Test implements i1,i2{
<Return type> test(){
//code here
}
}
如果实现的方法的返回类型为INT,错误说返回类型与i2.test()不相容 如果实现的方法的返回类型为字符串,错误说返回类型与不相容i1.test()返回类型和多继承?
我应该如何落实在我班上的两个接口测试
任何帮助APPR eciable。
你不能。它们不兼容。在这种情况下只考虑方法名称和参数。
你的选择是:
- 变化的方法之一的名称
- 让不同的参数列表包含不同类型
我应该如何实现这两个接口在我的课测试
要么实现它们在两个不同的类,或重命名(或更改参数签名)的接口方法之一。
是不是可以通过任何方式在一个类中实现? – 2012-03-20 18:27:19
@Chandra Sekhar:没有。 – 2012-03-20 21:03:01
这是不可能通过只填写解决这个一些适当的返回类型。
你必须找到一个替代解决方案;例如在其中一个接口中重命名test
方法。
这将永远不会奏效,你必须找到一个alternative.ie重命名方法或U可以提供内部类实现如下
class Test {
static i1 i=new i1() {
@Override
public int test() {
return 0;
}
};
static i2 i22=new i2() {
@Override
public String test() {
return "String";
}
};
public static void main(String...strings){
if(someObject instanceof String){
i.test();
} else {
i22.test();
}
}
}
见http://*.com/questions/2598009/method -name-collision-in-interface-implementation-java – nos 2012-03-20 18:27:56