栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java 8中使用具有相同签名的两个默认方法实现两个接口

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java 8中使用具有相同签名的两个默认方法实现两个接口

这是一个编译时错误。您不能从两个接口获得两个实现。

但是,如果在中实现该

getGreeting
方法,则是正确的
C1

public class C1 implements I1, I2 // this will compile, bacause we have overridden getGreeting(){    public static void main(String[] args)    {        System.out.println(new C1().getGreeting());    }    @Override public String getGreeting()    {        return "Good Evening!";    }}

我只想补充一点,即使I1中的方法是抽象的,而I2中的方法是默认的,您也无法实现它们两者。因此,这也是一个编译时错误:

public interface I1{    String getGreeting();}public interface I2{    default String getGreeting() {        return "Good afternoon!";    }}public class C1 implements I1, I2 // won't compile{    public static void main(String[] args)    {        System.out.println(new C1().getGreeting());    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/595225.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号