java有关于接口的习题

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:08:35
public interface A{
void get();
}
public interface B{
int get();
}
一个名叫C的类需要实现这两个接口,但是两个接口中都有一个方法叫get,只是返回值不一样,该怎么实现?
谢谢!
这是俺老大布置给俺的习题呀·····现实开发中是不会遇到,但我想这题出得一定有这题的道理····谢谢哈

不行啊,现实开发会遇到这样的问题吗?不会吧

我可以能明显的回答你,如果你要直接去实现这2个接口是不行的。

所以只能绕个圈子,用内部类去实现。

public class C{

class Aimpl implments A{

void get();
}
}
class Bimpl implments B{

int get();
}
}

}

你就这么和你老师说,保证错不了

事实上不能这么继承。
如果你这么写:
class C implements A,B
{
public void get()
{
}

public int get()
{ return 1;

}

}

但看这段代码本身就是语法错误的。
而java中也没有提供类似C++ 中的的:: 运算符
所以你这个问题解决不了。

单纯的C类来实现这两个接口不能实现,1楼的说的对,写在C类里写俩内部类,内部类来实现。其实说白了就是一个类不能实现这两个接口,因为这两个接口只是返回值不同,其他的都相同,(与重载方法的比较类似)其实这不是多态的体现。