finally是啥意思?。╢inally)
大家好,小問來為大家解答以上問題。finally是啥意思啊,finally這個(gè)很多人還不知道,現(xiàn)在讓我們一起來看看吧!
1、我們依次來回顧一下每種情況下final的作用。
2、首先來看第一種情況,如果final修飾的是一個(gè)基本類型,就表示這個(gè)變量被賦予的值是不可變的,即它是個(gè)常量;如果final修飾的是一個(gè)對(duì)象,就表示這個(gè)變量被賦予的引用是不可變的,這里需要提醒大家注意的是,不可改變的只是這個(gè)變量所保存的引用,并不是這個(gè)引用所指向的對(duì)象。
3、在第二種情況下,final的含義與第一種情況相同。
4、實(shí)際上對(duì)于前兩種情況,有一種更貼切的表述final的含義的描述,那就是,如果一個(gè)變量或方法參數(shù)被final修飾,就表示它只能被賦值一次,但是JAVA虛擬機(jī)為變量設(shè)定的默認(rèn)值不記作一次賦值。
5、 被final修飾的變量必須被初始化。
6、初始化的方式有以下幾種: 在定義的時(shí)候初始化。
7、 final變量可以在初始化塊中初始化,不可以在靜態(tài)初始化塊中初始化。
8、 靜態(tài)final變量可以在靜態(tài)初始化塊中初始化,不可以在初始化塊中初始化。
9、 final變量還可以在類的構(gòu)造器中初始化,但是靜態(tài)final變量不可以。
10、 接下來我們一起回顧一下finally的用法。
11、這個(gè)就比較簡(jiǎn)單了,它只能用在try/catch語句中,并且附帶著一個(gè)語句塊,表示這段語句最終總是被執(zhí)行。
12、請(qǐng)看下面的代碼: Java代碼 public final class FinallyTest { public static void main(String[] args) { try { throw new NullPointerException(); } catch (NullPointerException e) { System.out.println("程序拋出了異常"); } finally { System.out.println("執(zhí)行了finally語句塊"); } } } 運(yùn)行結(jié)果說明了finally的作用: 程序拋出了異常 執(zhí)行了finally語句塊 請(qǐng)大家注意,捕獲程序拋出的異常之后,既不加處理,也不繼續(xù)向上拋出異常,并不是良好的編程習(xí)慣,它掩蓋了程序執(zhí)行中發(fā)生的錯(cuò)誤,這里只是方便演示,請(qǐng)不要學(xué)習(xí)。
以上就是【finally是啥意思啊,finally】相關(guān)內(nèi)容。
免責(zé)聲明:本文為轉(zhuǎn)載,非本網(wǎng)原創(chuàng)內(nèi)容,不代表本網(wǎng)觀點(diǎn)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
- 您只需252.79歐元即可購買這款令
- InMotionHosting虛擬主機(jī)評(píng)測(cè)
- 帶雙HDMI的10合1擴(kuò)展塢為12關(guān)
- TCL6系列Roku電視評(píng)測(cè)
- 三星今年將其GalaxyS21旗艦產(chǎn)品的
- CanaryFlex高清安全攝像頭評(píng)測(cè)
- YouTube Shorts獲得綠屏混音功能
- 愛普生SureColor P700專業(yè)級(jí)照片
- 三星Galaxy S23前置攝像頭或?qū)⒔Y(jié)
- vivoS10Pro智能手機(jī)附贈(zèng)一個(gè)紫外
- Quibi應(yīng)用評(píng)測(cè)
- 微軟Windows11內(nèi)部版本22000.739