



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
本文格式為Word版,下載可任意編輯——Javafinal修飾符知識點總結范例Javafinal修飾符學識點總結范例
final從字面上理解含義為“結果的,最終的”。在Java中也同樣表示出此種含義。
final可以用來修飾變量(包括類屬性、對象屬性、局部變量和形參)、方法(包括類方法和對象方法)和類。
1.final修飾類:
final修飾類即表示此類已經是“結果的、最終的”含義。因此,用final修飾的類不能被繼承,即不能擁有自己的子類。
假設視圖對一個已經用final修飾的類舉行繼承,在編譯期間或發生錯誤。
2.final修飾方法:
final修飾的方法表示此方法已經是“結果的、最終的”含義,亦即此方法不能被重寫(可以重載多個final修飾的方法)。
此處需要留神的一點是:由于重寫的前提是子類可以從父類中繼承此方法,假設父類中final修飾的方法同時訪問操縱權限為private,
將會導致子類中不能直接繼承到此方法,因此,此時可以在子類中定義一致的方法名和參數,此時不再產生重寫與final的沖突,而是
在子類中重新定義了新的方法。
publicclassBextendsApublicstaticvoidmainString[]argspublicvoidgetNameclassA/***由于private修飾,子類中不能繼承到此方法,因此,子類中的getName方法是重新定義的、*屬于子類本身的方法,編譯正常*/privatefinalvoidgetName/*由于pblic修飾,子類可以繼承到此方法,導致重寫了父類的final方法,編譯出錯publicfinalvoidgetName*/
3.final修飾變量:
final修飾的變量表示此變量是“結果的.、最終的”含義。一旦定義了final變量并在首次為其顯示初始化后,final修飾的變量值不成被變更。
這里需要留神以下幾個問題:
1.final修飾的變量,無論是類屬性、對象屬性、形參還是局部變量,這些變量都是需要舉行顯示初始化(即為其顯示指定初始值)。
對于final修飾的形參,由于是實參傳遞過來的,很好理解。
對于final修飾的局部變量,與未用final修飾的變量一樣,都是需要顯示初始化。即局部變量都是需要顯示初始化的。
對于一般的類屬性和對象屬性,由類和對象的初始化過程中可以看出,首先都舉行了默認初始化。然后對有顯示賦值的變量才再舉行顯示初始化。
但對final修飾的類屬性和對象屬性而言,假設不顯示初始化,其默認將是舉行默認初始化后的值,這與final本身啟程點沖突,因此,Java語法規定:
final修飾的類屬性和變量屬性務必要舉行顯示初始化賦值。
另外,無論對于根本數據類型還是引用數據類型,final修飾的變量都是首次顯示初始化后值都不能修改。對于根本數據類型,很好理解。對于引用
數據類型,引用變量指向的是實際的對象,但其存儲的是所指向對象的地址,因此,其值不能修改并不意味著其所指向的對象不能修改。
4.final修飾變量后導致的“宏替換”/宏變量問題
Java中宏變量/宏替換指的是在java代碼中在編譯期某些變量能夠直接被其本身的值所替換,編譯到.class文件中。因此,編譯后的.class文件中已經不存在此變了。
在String類型的變量中,有時候經常遇到如下處境:
publicclassTestpublicstaticvoidmainString[]argsStringcountry=China;Stringname=yumidi;StringuserInfo=country+name;//編譯后此處照舊是country和name變量Stringuser=China+yumidi;//編譯后此處直接變成Chinayumidi
在上述代碼中的第9行,編譯后的變量結果直接為Chinayumidi。而第8行代碼中,由于country和name都是普遍的變量,編譯器無法在編譯時直接確定userInfo的值,因此
此處編譯后結果不直接是Chinayumidi。
但是,假設夢想第8行中的代碼在編譯期直接就能表示為Chinayumidi,就需要用到final修飾符對country和name變量舉行修飾。
理由:final修飾符修飾的變量在由于其本身的特性,在編譯期就能直接確定其值,且此值不成變。在編譯過程中,可以直接將其變量直接轉換成其值本身去表示。
publicclassTestpublicstaticvoidmainString[]argsfina
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 砼構件的施工質量評定方法考核試卷
- 生態保護與可持續發展考核試卷
- 2025年證券從業資格考試高效學習規劃試題及答案
- 稀有金屬加工中的企業品牌建設與市場推廣考核試卷
- 2025年企業審計新規范的實施與影響試題及答案
- 2025年審計程序優化試題及答案
- 火車站票務系統優化考核試卷
- 管道工程質量管理案例分析考核試卷
- 2025年產業鏈上下游關系分析試題及答案
- 2024微生物檢驗技師考試的準備工作試題及答案
- 浙江國企招聘2025寧波鎮海區國資系統招聘33人筆試參考題庫附帶答案詳解
- 自動化競聘試題及答案
- 2025年中小學學校食品安全與膳食經費專項整治工作情況報告
- 經管員中級理論知識試題紅色為參考答案
- 2025-2030中國生牛肉市場銷售渠道與未來盈利模式預測研究報告
- 光的干涉衍射試題及答案
- 2025至2030年中國軍用仿真(軟件)行業發展戰略規劃及投資方向研究報告
- 第14課 遼宋夏金元時期的科技與文化-2024-2025學年七年級歷史下冊互動課堂教學設計寶典(統編版2024)
- 裝修多人合伙協議書
- 2025年廣東省深圳市21校初三一模英語試題及答案
- 乳業大數據分析與消費者洞察-全面剖析
評論
0/150
提交評論