为什么Java类只能扩展一个类但实现了许多接口?
发布时间:2020-12-15 05:21:12 所属栏目:Java 来源:网络整理
导读:参见英文答案 Why is Multiple Inheritance not allowed in Java or C#?????????????????????????????????????17个 ???????????? Why is there no multiple inheritance in Java,but implementing multiple interfaces is allowed??????????????????????????
参见英文答案 >
Why is Multiple Inheritance not allowed in Java or C#?????????????????????????????????????17个
>???????????? Why is there no multiple inheritance in Java,but implementing multiple interfaces is allowed?????????????????????????????????????16个 在C中,你可以扩展许多类,那么这个设计在Java中的优势是什么类只能扩展一个类? 由于接口是一种纯类(实际上是抽象类),为什么不像类扩展一样限制接口的实现数量呢? 解决方法
能够只扩展一个基类是解决
diamond problem的一种方法.这是一个问题,当一个类扩展了两个实现相同方法的基类时 – 你怎么知道要调用哪一个?
A.java: public class A { public int getValue() { return 0; } } B.java: public class B { public int getValue() { return 1; } } C.java: public class C extends A,B { public int doStuff() { return super.getValue(); // Which superclass method is called? } } 由于接口不能实现,因此不会出现同样的问题.如果两个接口包含具有相同签名的方法,则实际上只有一个方法,并且仍然没有冲突. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – joda新问题DateTime(int,int,int,int,in
- Java基本数据类型与封装类型详解(int和Integer区
- 详解springMVC两种方式实现多文件上传及效率比较
- 详解Spring Boot Admin监控服务上下线邮件通知
- java day65【视图[应用] 、索引[应用] 、pl/sql
- java – 我可以动态地将其他Spring配置文件加载到
- java实现简单的英文文本单词翻译器功能示例
- java – 如何使JTIdy使HTML文档格式良好?
- 如何在java中将String转换为Date,无论系统格式是
- java – 在Apache Web Server中评估的表达式语言
热点阅读