詳情描述
java是不支撐多承繼的,為何在Java不支撐多承繼,請看回答:
在標題為“Java:概述”由James Gosling在1995年2月的白皮書,給出了一個主意,為何在Java不支撐多承繼。
JAVA省掉了很多很少用到,缺少了解,混雜功用的C ,在咱們的經歷中帶來更多的哀痛大于收益。這首要包含運算符重載(盡管它的確有辦法重載),多重承繼,以及廣泛的主動強行變換。
誰比的James Gosling博士資歷作出談論。這一段給了咱們一個的概述和他觸摸這個主題不支撐多重承繼。
Java不支撐多承繼
首要讓咱們定了這一點。這本身即是一個點的評論,Java是不是支撐多重承繼與否。有人說,它支撐運用接口。沒有在java中不支撐多重承繼。假如你不相信我的話,再次看了上面的階段,而這些都是Java之父的話。
運用接口支撐多重承繼的這個故事是咱們開發(fā)人員熟了。接口不是詳細的類,并供給了靈活性,咱們有選項能夠完成多個接口,運用單一類。這是咱們遵循創(chuàng)立一個類的兩個藍圖的協議。
這是試圖得到更親近的多重承繼。咱們要做的是完成多個接口,在這里,咱們不拓展(承繼)任何東西。完成類是一個要添加的特點和行動。它是從父類沒有得到施行。我只想說,在java中不支撐多重承繼。
多重承繼
多重承繼是咱們到一個獨自的類承繼多個類的特點和行動般的列表,Scala的是一些盛行的言語支撐多重承繼。
為何Java不支撐多重承繼
如今,咱們肯定是在java中不支撐多重承繼??墒牵瑸楹文剡@是一個規(guī)劃決定的java的創(chuàng)造者。關鍵詞是簡略和稀有的運用。
簡略
我想共享JAVA的界說由James Gosling。
JAVA:一個簡略的,面向對象的,分布式的,解說型的,強健的,安全的,體系結構中立的,可移植,高性能,多線程的,動態(tài)的言語。
看看這個界說關于java的漂亮。這應當是一個現代的軟件言語的界說。在言語界說中的第一個特點是什么這很簡略。
咱們有兩個類B和C承繼自A.假定B和C都重寫承繼的辦法,他們供給自個的完成。如今B和C從D承繼多重承繼。D應當承繼,重寫的辦法,將用于重寫的辦法嗎它從B或C在這里,咱們有歧義。
在C 中有也許進入這個圈套,但它供給了替換來處理這個問題。在Java中,這永遠不會發(fā)作,由于沒有多重承繼。即便兩個接口有一樣的辦法,完成類只有一個辦法,并且也將經過施行者。動態(tài)加載的類的完成多重承繼的困難。
Rarely Used
咱們一直在運用Java的長如今。有多少次,咱們面臨著一個情況下,咱們被停滯,面臨墻面,由于缺少在Java關于多重承繼的支撐憑我自己的經歷,我不記得了,乃至一次。由于它很少需求,能夠安全地省掉了多重承繼,考慮到施行的復雜性。這是不值得的費事和的簡略途徑選擇。
即便它是必需的,它能夠被取代的具有另一種規(guī)劃。因而,它是也許的生活在沒有多重承繼,而不會呈現任何問題,這也是一個因素。
我的定見是,在Java關于多重承繼的支撐省掉是不是一個缺點,它是極好的施行者
為了履行簡略的省掉多重承繼的首要因素。例如,咱們能夠考慮鉆石的多重承繼的問題。