java final修饰的类_java final修饰符使用总结,final修饰类详解
下面要繼續(xù)給大家講到的就是java final修飾符方面的知識(shí),主要是java
final修飾符使用總的一些總結(jié),以及一些final修飾類方面的一些知識(shí)。
java final修飾符使用總結(jié)
首先我們來看一下總結(jié)。
1、final修飾類中的變量
表示這個(gè)變量只要是被初始化了那么就不能夠改變,這里的不能夠改變的意思對(duì)基本類型變量來說是其值不可變,而對(duì)對(duì)象引用類型變量來說其引用不可再變。
其初始化可以在兩個(gè)地方:
(1)其定義處,也就是說在final變量定義時(shí)直接給其賦值;
(2)構(gòu)造方法中;
這兩個(gè)地方只能選二選一,要么在定義的時(shí)候給值,要么在構(gòu)造方法當(dāng)中給值,不可以同時(shí)既在定義時(shí)賦值,又在構(gòu)造方法中賦予另外的值。
2、final修飾類當(dāng)中的方法
表示,這樣的方法提供的功能已經(jīng)滿足當(dāng)前要求,不需要再進(jìn)行擴(kuò)展了,并且也不允許任何從這個(gè)類繼承的類來重寫這種方法,但是繼承依舊能夠繼承這個(gè)方法,也就是表示能夠直接使用。
3、final修飾類
表示這個(gè)類是不能夠被任何的其他類繼承的,也就是意味著這個(gè)類在一個(gè)繼承樹當(dāng)中是一個(gè)葉子類,并且,這個(gè)類的設(shè)計(jì)已經(jīng)被認(rèn)為非常的完美不需要再進(jìn)行修改或者是擴(kuò)展了。
對(duì)于final類當(dāng)中的成員,可以定義其為final,也可以不是final。
而對(duì)于方法,因?yàn)樗鶎兕愂莊inal的關(guān)系,所以的話也就成了final型。也能夠明確的給final類當(dāng)中的方法加上一個(gè)final,這顯然是沒有意義。
final修飾類
再來具體的講一下final修飾類。
final修飾的類不能夠被繼承。final?class?SuperClass
{}
class?SubClass?extends?SuperClass
{?//編譯錯(cuò)誤}
在子類繼承父類的時(shí)候,就可以訪問到父類內(nèi)部數(shù)據(jù),并且能夠通過重寫父類方法來改變父類方法的實(shí)現(xiàn)細(xì)節(jié),這可能導(dǎo)致一些不安全的因素。
為了保證某個(gè)類不可被繼承,那么能夠使用final修飾這個(gè)類。
以上的知識(shí)你都清楚了嗎?請(qǐng)繼續(xù)關(guān)注奇Q工具網(wǎng)吧,更多java基礎(chǔ)知識(shí),可以為你分享。
推薦閱讀:
總結(jié)
以上是生活随笔為你收集整理的java final修饰的类_java final修饰符使用总结,final修饰类详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 请求响应_java http接
- 下一篇: java temporalfield_J