首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我们不能扩展多个类

问为什么我们不能扩展多个类
EN

Stack Overflow用户
提问于 2014-04-04 13:29:01
回答 6查看 3.3K关注 0票数 0

我目前正在开发一个使用JFrame和Applet的应用程序。

为什么我们不能两者兼而有之。

代码语言:javascript
复制
public class myClass extends Applet, javax.swing.JFrame {...}
//invalid...

有效代码是。

代码语言:javascript
复制
public class myClass extends Applet {
    javax.swing.JFrame frame = new javax.swing.JFrame();
    public void init(){
        frame.setSize(300, 400);
        frame.setVisible(true);
    }
}

为什么会这样呢?为什么我们不能扩展多个类

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-04-04 13:31:52

Java的设计人员从其他语言(如C++ )中的错误中吸取了教训,在这些语言中,diamond problem是由多重继承引起的问题,因此决定将Java作为一种单一的继承语言来简化开发。

票数 9
EN

Stack Overflow用户

发布于 2014-04-04 13:30:04

这就是Java的工作方式。它只是不支持多重继承。多重继承可能是危险的,原因有很多。例如,可能会出现名称冲突。

另一方面,您可以实现任意多个接口。

票数 0
EN

Stack Overflow用户

发布于 2014-04-04 13:32:43

当类是抽象的或扩展的时,您将指定类所扮演的角色。这也有助于防止循环继承。

接口仅仅是一个契约,您将在类中提供方法功能。如果要从不指定类角色的多个源继承,请使用接口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22864211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档