我目前正在开发一个使用JFrame和Applet的应用程序。
为什么我们不能两者兼而有之。
public class myClass extends Applet, javax.swing.JFrame {...}
//invalid...有效代码是。
public class myClass extends Applet {
javax.swing.JFrame frame = new javax.swing.JFrame();
public void init(){
frame.setSize(300, 400);
frame.setVisible(true);
}
}为什么会这样呢?为什么我们不能扩展多个类
发布于 2014-04-04 13:31:52
Java的设计人员从其他语言(如C++ )中的错误中吸取了教训,在这些语言中,diamond problem是由多重继承引起的问题,因此决定将Java作为一种单一的继承语言来简化开发。
发布于 2014-04-04 13:30:04
这就是Java的工作方式。它只是不支持多重继承。多重继承可能是危险的,原因有很多。例如,可能会出现名称冲突。
另一方面,您可以实现任意多个接口。
发布于 2014-04-04 13:32:43
当类是抽象的或扩展的时,您将指定类所扮演的角色。这也有助于防止循环继承。
接口仅仅是一个契约,您将在类中提供方法功能。如果要从不指定类角色的多个源继承,请使用接口。
https://stackoverflow.com/questions/22864211
复制相似问题