场景一、例如,有接口A,B,它们都含有以下相同方法(方法签名相同):

package testinterface;

public interface A {
    String getString();
}
package testinterface;

public interface B {
    String getString();
}

那么C类可以同时正确地实现这两个接口,因为getString方法签名相同,并且它们的返回值也相同

package testinterface;

public class C implements A,B{
    @Override
    public String getString() {
        return null;
    }
}

场景二、接口A,B,有方法签名相同,但是返回值不同的方法,如下

java一个接口多个实现方法 java多个接口有相同的方法_开发语言

 

java一个接口多个实现方法 java多个接口有相同的方法_开发语言_02

java一个接口多个实现方法 java多个接口有相同的方法_java_03

 

这时可以看到,IDE会直接提示报错,在C类中,提示需要把String改成Int,以实现B的接口,但是改成Int后,又会提示要改成String,实现A的接口。

这时我们可能会想再定义一个getString(): Int方法,来实现B接口,但是这是不行的,因为这2个方法签名相同,不能重复定义了。