假设我在Java中定义了两个接口,这两个接口中的方法名一样,接着我用一个测试类来实现这两个接口,我应该怎么实现 ? 代码如下:
public interface IHello
{
void Sayhi();
}
public interface IHello1
{
void Sayhi();
}
这两个接口已经不能再改了,就是两个接口的方法名一致,怎么实现这两个接口
在实现类里直接写一个方法实现就可以了,不过你所实现的方法只能完成一种功能~
比如你在实现里写
public class test implements IHello,IHello1
{
void Sayhi()
{
System.out.println("test");
}
}
这就表示你的两个接口方法均被实现,但实现的功能是一样的,只能打印一个语句.不知道这么解释能理解吗?
public class C implements IHello,IHello1{
public void Sayhi() {
//实现一个就可以了,默认就是这样的
}
}
直接实现两个接口不行的话,就用一个内部类去实现另外一个接口,外部类再用委托的方式去调内部类的相应方法
出现这种情况其实是程序设计的问题.你根本无法区分这2个接口方法的实现到底是哪一个的,因为事实上,他们就是同一个.那这样来implement2个接口是完全没必要的,功能一样.所以对于接口是同名的,你只能实现1个接口,或者说只需要实现一个接口,
你这不行哪,这二个接口方法名一样,其实功能就是一样的,接口是用来做一个标准的。方法名就定义了接口的作用,你二个方法名一样,连参数都是一样无,这就是一个接口,没必要分二个,要不就是。JAVA在设计时就已经避了这个,你这样就无法实现的。