網(wǎng)絡(luò)消費(fèi)網(wǎng) >  綜合 > > 正文
        JAVA關(guān)鍵字:final
        時(shí)間:2023-06-04 23:19:09

        final

        final可以用在類、方法、變量上。 1、final用在類上,表明當(dāng)前類它不能被繼承,沒有子類。


        (相關(guān)資料圖)

        public final class 類名稱 { // ... }

        注意:一個(gè)類如果是final的,那么其中所有的成員方法都無法進(jìn)行覆蓋重寫

        2、final用在方法上,表明當(dāng)前方法不能被override,不能被重寫。

        修飾符 final 返回值類型 方法名稱(參數(shù)列表) {

        // 方法體}

        注意:對(duì)于類、方法來說,abstract關(guān)鍵字和final關(guān)鍵字不能同時(shí)使用,因?yàn)槊?。有抽象方法的abstract類被繼承時(shí),其中的方法必須被子類Override,而final不能被Override。

        3、final用在變量上,表明當(dāng)前變量是一個(gè)終態(tài)的變量,是一個(gè)常量,這個(gè)變量的值一但被賦值后就不能被改變了。對(duì)于final類型的成員變量的初始化方式: 1、聲明變量時(shí)直接賦值

        final int X=1;

        對(duì)于基本類型來說,不可變說的是變量當(dāng)中的數(shù)據(jù)不可改變

        對(duì)于引用類型來說,不可變說的是變量當(dāng)中的地址值不可改變

        2、在構(gòu)造方法中完成賦值,如果一個(gè)類有多個(gè)構(gòu)造方法,就要保證在每個(gè)構(gòu)造方法中都要完成對(duì)該final類型變量的初始化工作。

        例:

        public class FinalOriginalTest {

        private final int a;

        private String name;

        public FinalOriginalTest(){ ?

        a = 3;

        }

        public FinalOriginalTest(String name){ ?

        this.name = name;

        }

        public static void main(String[] args){ ?

        FinalOriginalTest ft = new FinalOriginalTest(); ?

        FinalOriginalTest ft1 = new FinalOriginalTest("hello");

        }}

        問題:上面的程序能否編譯通過? 解答:不能編譯通過,可能沒有初始化變量a。因?yàn)閷?duì)于final類型的成員變量的初始化,在構(gòu)造方法中完成賦值,如果一個(gè)類有多個(gè)構(gòu)造方法,就要保證在每個(gè)構(gòu)造方法中都要完成對(duì)該final類型變量的初始化工作。所以需要在public FinalOriginalTest(String name)構(gòu)造方法中給a賦值。

        問題:上面的程序中,修正問題1之后,將private final int a;改為private static final int a;能否編譯通過? 解答:不能編譯通過,因?yàn)閍是靜態(tài)變量,在這個(gè)類還沒有實(shí)例化的時(shí)候,它的值就已經(jīng)有了。所以對(duì)于一個(gè)int類型的static final類型的變量a來說,我們只能在聲明的時(shí)候就給它賦值private static final int a = 3;然后把構(gòu)造方法里面的賦值給注釋掉,這樣編譯就能通過了。 總結(jié):對(duì)于final類型的變量,對(duì)于不加static我們可以有兩種方式給它賦值:聲明變量時(shí)直接賦值;在構(gòu)造方法中完成賦值,如果一個(gè)類有多個(gè)構(gòu)造方法,就要保證在每個(gè)構(gòu)造方法中都要完成對(duì)該final類型變量的初始化工作。對(duì)于一個(gè)變量既是final又是static的,我們必須在聲明變量時(shí)直接賦值。

        關(guān)鍵詞:

        版權(quán)聲明:
            凡注明來網(wǎng)絡(luò)消費(fèi)網(wǎng)的作品,版權(quán)均屬網(wǎng)絡(luò)消費(fèi)網(wǎng)所有,未經(jīng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明"來源:網(wǎng)絡(luò)消費(fèi)網(wǎng)"。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
            除來源署名為網(wǎng)絡(luò)消費(fèi)網(wǎng)稿件外,其他所轉(zhuǎn)載內(nèi)容之原創(chuàng)性、真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考并自行核實(shí)。
        熱文

        網(wǎng)站首頁(yè) |網(wǎng)站簡(jiǎn)介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
         

        Copyright © 2000-2020 www.fnsyft.com All Rights Reserved.
         

        中國(guó)網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
         

        聯(lián)系郵箱:920 891 263@qq.com

        備案號(hào):京ICP備2022016840號(hào)-15

        營(yíng)業(yè)執(zhí)照公示信息

        97se亚洲综合在线| 国产亚洲蜜芽精品久久| 久久亚洲色WWW成人欧美| 亚洲av乱码一区二区三区香蕉| 久久精品国产亚洲av麻| 亚洲男人的天堂www| 亚洲综合区小说区激情区 | 国产成人 亚洲欧洲| 亚洲AV成人精品一区二区三区| 亚洲人成网亚洲欧洲无码| 亚洲熟妇少妇任你躁在线观看| 亚洲AV男人的天堂在线观看| 2020国产精品亚洲综合网| 亚洲av无码久久忘忧草| 久久国产亚洲精品| 亚洲色中文字幕在线播放| 亚洲人成人网站18禁| 亚洲AV无码一区二区大桥未久| 亚洲第一综合天堂另类专| WWW亚洲色大成网络.COM| 亚洲?v女人的天堂在线观看| 亚洲av无码乱码在线观看野外| 亚洲国产精品碰碰| 中文字幕亚洲一区| 情人伊人久久综合亚洲| 亚洲an天堂an在线观看| 亚洲自偷自拍另类图片二区| 亚洲国产高清视频在线观看| 波多野结衣亚洲一级| 亚洲av永久中文无码精品| 亚洲国产专区一区| 亚洲欧洲∨国产一区二区三区 | 中文字幕无码亚洲欧洲日韩| 亚洲乱码中文字幕在线| 国产产在线精品亚洲AAVV| 亚洲综合网站色欲色欲| 亚洲国产精品久久| 亚洲AV成人噜噜无码网站| 亚洲精品无码久久久久A片苍井空 亚洲精品无码久久久久YW | 亚洲综合网美国十次| 在线观看亚洲AV日韩AV|