Java 不同接口中含有相同签名方法

场景一、例如,有接口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 不同接口中含有相同签名方法_第1张图片

 

Java 不同接口中含有相同签名方法_第2张图片

Java 不同接口中含有相同签名方法_第3张图片 

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

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

 

你可能感兴趣的:(java,java,开发语言)