更新時(shí)間:2019-09-14 09:00:00 來源:動(dòng)力節(jié)點(diǎn) 瀏覽9610次
今天動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編為大家介紹“java中final修飾變量、修飾符、方法、類的詳細(xì)用法”,希望通過此文能夠幫助到大家,下面就隨小編一起看看java中final修飾變量、修飾符、方法、類的詳細(xì)用法吧。
final可以用來修飾變量(包括類屬性、對象屬性、局部變量和形參)、方法(包括類方法和對象方法)和類。
1、final 修飾變量
final修飾的變量表示此變量是“最后的、最終的”含義。一旦定義了final變量并在首次為其顯示初始化后,final修飾的變量值不可被改變。
所以,final修飾變量時(shí)就成了 常量(一旦賦值不能改變)
常量名一般要全部大寫;
final int BOY = 1;
這里需要注意以下幾個(gè)問題:
final修飾的變量,無論是類屬性、對象屬性、形參還是局部變量,這些變量都是需要進(jìn)行顯示初始化(即為其顯示指定初始值)。對于final屬性來講,系統(tǒng)不會(huì)提供默認(rèn)值,
對于final修飾的形參,由于是實(shí)參傳遞過來的,很好理解。
對于final修飾的局部變量,與未用final修飾的變量一樣,都是需要顯示初始化。即局部變量都是需要顯示初始化的。
對于一般的類屬性和對象屬性,由類和對象的初始化過程中可以看出,首先都進(jìn)行了默認(rèn)初始化。然后對有顯示賦值的變量才再進(jìn)行顯示初始化。
但對final修飾的類屬性和對象屬性而言,如果不顯示初始化,其默認(rèn)將是進(jìn)行默認(rèn)初始化后的值,這與final本身出發(fā)點(diǎn)矛盾,
因此,Java語法規(guī)定:
final修飾的類屬性和變量屬性必須要進(jìn)行顯示初始化賦值。
另外,無論對于基本數(shù)據(jù)類型還是引用數(shù)據(jù)類型,final修飾的變量都是首次顯示初始化后值都不能修改。對于基本數(shù)據(jù)類型,很好理解。
對于引用數(shù)據(jù)類型,引用變量指向的是實(shí)際的對象,但其存儲的是所指向?qū)ο蟮牡刂罚虼耍渲挡荒苄薷牟⒉灰馕吨渌赶虻膶ο蟛荒苄薷摹?/p>
實(shí)例變量往往有三次賦值機(jī)會(huì),
分配空間,初始化屬性,調(diào)用構(gòu)造方法
2、final 修飾方法
final修飾的方法表示此方法已經(jīng)是“最后的、最終的”含義,亦即此方法不能被重寫(可以重載多個(gè)final修飾的方法)。
此處需要注意的一點(diǎn)是:因?yàn)橹貙懙那疤崾亲宇惪梢詮母割愔欣^承此方法,如果父類中final修飾的方法同時(shí)訪問控制權(quán)限為private,
將會(huì)導(dǎo)致子類中不能直接繼承到此方法,因此,此時(shí)可以在子類中定義相同的方法名和參數(shù),此時(shí)不再產(chǎn)生重寫與final的矛盾,
而是在子類中重新定義了新的方法。
/*
final修飾方法
*/
class Super{
//加上final之后就不能再覆蓋了
//final修飾方法時(shí)表示該方法不能被子類覆蓋
public final void method(){
}
}
class Sub extends Super{
//方法的覆蓋
/*public final void method(){
}*/
}
3、final修飾類
final修飾類即表示此類已經(jīng)是“最后的、最終的”含義。因此,用final修飾的類不能被繼承,即不能擁有自己的子類。
如果視圖對一個(gè)已經(jīng)用final修飾的類進(jìn)行繼承,在編譯期間或發(fā)生錯(cuò)誤。
/final類不能被子類繼承,final讓此類斷子絕孫,所以當(dāng)然不能被子類覆蓋
final class Super{
//加上final之后就不能再覆蓋了
//final修飾方法時(shí)表示該方法不能被子類覆蓋
public final void method(){
}
}
/*class Sub extends Super{
//方法的覆蓋
/*public final void method(){
}
}*/
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)小編介紹的“java中final修飾變量、修飾符、方法、類的詳細(xì)用法”的內(nèi)容,希望對大家有幫助,更多java最新資訊請繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)免費(fèi)視頻教程推薦
java入門教程下載——final修飾方法局部變量:http://www.ilovecolors.com.cn/xiazai/2578.html
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743