「java继承图」java数据结构继承关系图
今天给各位分享java继承图的知识,其中也会对java数据结构继承关系图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java 类的继承,图看不太懂,
-表示变量吧
+表示方法
旁边的箭头框是子类(老师学生都是人)
请问如何看java api中的继承关系图啊??
Object,Component,Button是三个类,分别位于java.lang包, java.awt包, java.awt包
包名就是起限定作用的
java中所有的类都是从Object类派生而来的
这里,Button类从Component类继承而来,Component类又从Object类继承而来
为什么Java类只能继承一个父类?
有取必有舍。Java认为多重继承不是一个很重要并且不是没有就不行的特性,但是他带来的危害却大于他的好处,所以舍弃。同理对于指针、内存管理都一样道理。
我同意有些人的回答说Java不信任程序员。正因如此,所以Java没有指针、不需要内存管理、也没有多重继承。但是,程序员可以说是最不值得信任的一群群体,不然为何需要专门的测试人员?所有语言都在一定程度不信任程序员,只是看程度如何而已。如果信任程序员的能力,应该去使用汇编语言、如果信任程序员的能力和水平,应该让程序员自己查BUG测试。
Java相比C++选择对程序员的给予更低信任度而换取更高的代码安全性。即Java选择了舍弃更多的功能或性能而选择更高的保险性罢了。
---------------------------用Java实现多重继承的方式-----------------------------
而对于多重继承的实现方式。其实并不应该像很多人说的那样使用实现多个接口实现的。如果这样,将产生大量的“CTRL C+CTRL V”,当你发现你大量的CTRL C+CTRL+V时,就几乎可以断定。你的代码写得不好了。
“实现上的继承就跟过度使用goto语句一样,使程序拧巴和脆弱。结果就是,面向对象系统通常遭受复杂和缺乏复用的痛苦。”— John Ousterhout( Tcl and Tk 的创始人) Scripting, IEEE Computer, March 1998“面向对象编程语言的问题在于,它总是附带着所有它需要的隐含环境。你想要一个香蕉,但得到的却是一个大猩猩拿着香蕉,而其还有整个丛林。”— Joe Armstrong(Erlang语言发明人)以下就以大猩猩的例子举例实现多重继承。现有抽象对象猩猩和对象大猩猩、拿着香蕉的大猩猩、拿着苹果的大猩猩、拿着香蕉和苹果的大猩猩,四个对象。继承关系图如下:(word作图,某些箭头不规范,请见谅)
并且再考虑有一个人类的类。里面有一个方法:“喂猩猩”,参数是“猩猩”类型。注:猩猩是抽象类。
Version 1 --------使用组合+继承
这样,既实现了多继承、也实现了多态——无论是大猩猩,还是拿着香蕉和苹果的大猩猩都能传递参数给人类的“喂猩猩的方法”了。
但这样还有一个问题,假如我还需要在大猩猩的层面扩充继承的更多数量的类如继承“野生动物”。而在人类的方法新增远离野生动物的方法:
Version2----------接口+组合
这就是我们说的用接口实现多重继承。是因为这样可以把子类利用多态赋给多个父类(接口),而把主要的方法使用组合封装起来而避免多次实现接口的方法。需要多少钟父类型,就在顶层增加接口实现。注:本初的猩猩类依旧可以设计为“类”即最顶层可以考虑拥有一个(抽象)类,也可以全部都是设计为接口,具体看业务需求和复杂度而定。
以上是参加完Oracle 新员工培训后所思所得,有错请评论指出。
关于java继承图和java数据结构继承关系图的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。