java類支持多繼承嗎 Java為什么不支持多繼承?
Java為什么不支持多繼承?首先,學習java應該從生活中探索。這并不復雜。比如,一個人有生父,對吧!Java將是一個很好的例子,體現(xiàn)在課堂生活中!繼承的主要目的是從父繼承,實現(xiàn)更好的代碼重用性!接下
Java為什么不支持多繼承?
首先,學習java應該從生活中探索。這并不復雜。比如,一個人有生父,對吧!Java將是一個很好的例子,體現(xiàn)在課堂生活中!繼承的主要目的是從父繼承,實現(xiàn)更好的代碼重用性
!接下來,讓我們從代碼級別學習:
假設a->繼承B,那么我們可以得到B類的類a中可以使用的方法(注意,這里沒有提到修飾符的問題)
然后假設a->繼承B,a->此時繼承C,類B和類C中聲明了一個同名的方法,因此類a很尷尬。類A不重寫類B和類C中的方法,那么類A使用B怎么辦?還是C?
我覺得a自己很困惑,哈哈。所以為了避免這種尷尬的事情,Java不允許出現(xiàn)這種情況。但值得注意的是:Java在有多重繼承的時候,是接口:
這里很好玩,為什么可以接口呢?注意這個接口是一個規(guī)則的體現(xiàn),它描述了一個標準:
假設Employee類繼承了human,我們知道human有一些特性,但是不同的Employee類有不同的職責,比如:Employee a(Employee的一個例子),他是一個職員,他很會使用電腦,而且他會打籃球。同樣,員工B(一個員工的例子),他是一個財務員,他也會電腦,但他會踢足球。在這個時候,會有一個問題:我們要把上面三個功能:玩電腦,踢足球和打籃球放在人類當中嗎?我們知道Employee類是從人類繼承來的。
答案是否定的,因為這將導致父類過于膨脹。此時,界面出現(xiàn),EMP extensions person implementation playfootball。這樣更好嗎!如果一個球員踢得好,也許他也熟悉足球的規(guī)則。然后是中文和英文的橄欖球擴展。因為有很多標準。一個足球運動員能踢足球,他也能很好地沖刺
!我不知道這是否能讓你明白,因為這都是親力親為的,所以我真的不想浪費精力。如果你有任何問題,可以直接關注我的標題:它是蛇頭病,只是有一個私人聊天!嘿,嘿,或者注意右上角的波浪!哈哈,我以前也發(fā)表過這方面的文章。你可以看看他們
我認為你的答案是錯誤的,因為java.lang.throwable可丟棄對java.lang.exception異常所以所有類都應該繼承可丟棄的類。如果P是一個普通類,那么C不必重寫P中的方法。重寫是可選的。如果P是抽象類,C不是抽象類,那么P擁有的所有抽象方法都必須重寫,包括P實現(xiàn)的接口的方法,以及P上面所有父類的抽象方法
不能將父類對象轉換為子類對象。只能將父類轉換為子類對象,除非其引用指向子類對象。
您可以在此處使用聚合而不是繼承。使jsonobject成為另一個類的成員。
當然,如果您使用kotlin,它會更方便。您可以直接擴展它,。