首頁  >  文章  >  Java  >  java中不能繼承的類別有哪些?

java中不能繼承的類別有哪些?

青灯夜游
青灯夜游原創
2019-12-31 16:31:164798瀏覽

java中不能繼承的類別有哪些?

在Java中,只要是被定義為final的類,也可以說是被final修飾的類,就是不能被繼承的。

因為jdk的開發者認為,有一些最基本的類別沒要必要對開發者開放,如果使用者繼承時操作有誤,很可能引入很多問題。為了防止使用者對基本類別進行相應的擴展,也體現了java設計過程中的開閉原則,最終將這些類別設計成為final的。

這是final的規定:

當你將final用於類別身上時,一個final類別是無法被任何人繼承的,那也意味著此類在一個繼承樹中是一個葉子類,並且此類的設計已被認為很完美而不需要

進行修改或擴展。對於final類別中的成員,你可以定義其為final,也可以不是final。而對於方法,由於所屬類為final的關係,自然也就成了final型的。你也可以明確的給final

類別中的方法加上一個final,但這顯然沒有意義。

java中常見的不能被繼承的類別有如下:

String,

StringBuffer,

StringBuilder ,

基本型別的包裝類別如Double,Integer,Long

等等。

我們來看看這個String類別是如何被定義的:

java中不能繼承的類別有哪些?

#以上就是這個String類別的定義方式,我們可以明顯的看到一個final修飾符!

如果說整個類別都是final(在它的定義前冠以final關鍵字),就表示自己不希望從這個類別繼承,或者不允許其他任何人採取這種操作。換言之,基於這樣或那樣的原因,我們的類別肯定不需要進行任何改變;或者出於安全方面的理由,我們不希望進行子類化(子類處理)

推薦學習:Java影片教學

以上是java中不能繼承的類別有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn