小编Ank*_*ava的帖子

为什么接口在案例1中抛出编译时错误,但在案例2中成功编译

我在"CASE 1"中有两个接口,其中我有相同的方法和不同的返回类型,我在另一个接口中扩展两个接口然后我得到编译时错误,因为返回类型与继承方法不兼容但是在这里我们是在第三个接口中扩展两个接口然后方法被重载并且在方法重载中返回类型的方法没有效果,那么为什么这会给出错误.

另外,如果我在"CASE 2"中具有相同返回类型的两个接口中的相同方法,并且在第三个接口中扩展两个接口,那么这里我没有得到任何错误.为什么?

情况1

Interface1.java

public interface I1
{
int m();
}
Run Code Online (Sandbox Code Playgroud)

Interface2.java

public interface I2
{
void m();
}
Run Code Online (Sandbox Code Playgroud)

Interface3.java

public interface I3 extends I1,I2
{

}
Run Code Online (Sandbox Code Playgroud)

案例2

Interface1.java

public interface I1
{
int m();
}
Run Code Online (Sandbox Code Playgroud)

Interface2.java

public interface I2
{
int m();
}
Run Code Online (Sandbox Code Playgroud)

Interface3.java

public interface I3 extends I1,I2
{

}
Run Code Online (Sandbox Code Playgroud)

java overloading interface

2
推荐指数
1
解决办法
125
查看次数

标签 统计

interface ×1

java ×1

overloading ×1