如果一个类实现了两个接口,而这两个接口里边有相同名字的方法,在类里边如何定义这两个方法?
例如
interface Interface1
{
void Test();
}
interface Interface2
{
void Test();
}
class ClassTest implements Interface1,Interface2
{
void Test()//实现哪个接口的Test方法?
{
}
}
------解决方案--------------------没办法分别
就是一个,可以说是继承Interface1,也可以说是Interface2的
用这两个接口都可以找到这个方法
------解决方案--------------------嗯
没想过,关注下
------解决方案--------------------试了一下,貌似谁写在前面就显示实现谁的
不过问一句,这样的接口设计有意义吗?
------解决方案--------------------问题没有意义
很极端
------解决方案--------------------好像是两个接口共用一个实现
------解决方案--------------------能编译通过?
------解决方案--------------------能编译通过?实现接口的方法一定要是public
------解决方案--------------------没法区分,不过这样的设计本身存在问题
就算只能这样,其实也无所谓,接口本身就是定义一个框架,方法在哪个接口中从实现上来说没什么意义,意义只能从面向对象的思想去理解,把方法进行了归类而已
------解决方案--------------------对象是实现哪个接口的引用,那么Test()方法就是哪个接口的
------解决方案--------------------这完全正常!两个接口共用一个实现。
接口不是实体,只是声明。在JAVA中多次声明在原则是没有问题的,只要能保证只有一次实现就可以了。这一点和C++是类似的。
从设计上说,这种设计也完全合情合理,无可厚非。
------解决方案--------------------我同意楼上的说法