網絡消費網 >  綜合 > > 正文
        JAVA關鍵字:final
        時間:2023-06-04 23:19:09

        final

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


        (相關資料圖)

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

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

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

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

        // 方法體}

        注意:對于類、方法來說,abstract關鍵字和final關鍵字不能同時使用,因為矛盾。有抽象方法的abstract類被繼承時,其中的方法必須被子類Override,而final不能被Override。

        3、final用在變量上,表明當前變量是一個終態的變量,是一個常量,這個變量的值一但被賦值后就不能被改變了。對于final類型的成員變量的初始化方式: 1、聲明變量時直接賦值

        final int X=1;

        對于基本類型來說,不可變說的是變量當中的數據不可改變

        對于引用類型來說,不可變說的是變量當中的地址值不可改變

        2、在構造方法中完成賦值,如果一個類有多個構造方法,就要保證在每個構造方法中都要完成對該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。因為對于final類型的成員變量的初始化,在構造方法中完成賦值,如果一個類有多個構造方法,就要保證在每個構造方法中都要完成對該final類型變量的初始化工作。所以需要在public FinalOriginalTest(String name)構造方法中給a賦值。

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

        關鍵詞:

        版權聲明:
            凡注明來網絡消費網的作品,版權均屬網絡消費網所有,未經授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明"來源:網絡消費網"。違反上述聲明者,本網將追究其相關法律責任。
            除來源署名為網絡消費網稿件外,其他所轉載內容之原創性、真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考并自行核實。
        熱文

        網站首頁 |網站簡介 | 關于我們 | 廣告業務 | 投稿信箱
         

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

        中國網絡消費網 版權所有 未經書面授權 不得復制或建立鏡像
         

        聯系郵箱:920 891 263@qq.com

        備案號:京ICP備2022016840號-15

        營業執照公示信息

        亚洲久热无码av中文字幕| 国产亚洲精品无码成人| 在线观看亚洲一区二区| 国产偷国产偷亚洲高清日韩| 久久精品国产亚洲AV未满十八| 亚洲综合无码一区二区痴汉| 亚洲乱码一二三四区麻豆| 亚洲人成人77777网站不卡| 亚洲国产精品综合久久2007| 亚洲人成激情在线播放| 亚洲一区二区久久| 中文字幕无码亚洲欧洲日韩| 亚洲欧美熟妇综合久久久久| 亚洲av无码专区在线观看下载| 亚洲精品无码久久久久久| 亚洲AV日韩AV一区二区三曲| 日韩精品成人亚洲专区| 亚洲国产专区一区| 亚洲综合精品香蕉久久网| 亚洲精品无码成人AAA片| 久久精品九九亚洲精品天堂| 亚洲AV永久无码区成人网站 | 亚洲综合日韩久久成人AV| 亚洲综合AV在线在线播放| 国产亚洲欧洲精品| 亚洲精品成人av在线| 亚洲成电影在线观看青青 | 亚洲国产精品尤物YW在线观看 | 亚洲精品二三区伊人久久| 亚洲日产乱码一二三区别| 99亚洲精品卡2卡三卡4卡2卡| 亚洲精品国产精品乱码不卡| 亚洲中文字幕久久精品无码APP| 亚洲AV无码精品色午夜果冻不卡| 久久青青草原亚洲av无码app | 国产亚洲精品激情都市| 亚洲大尺度无码专区尤物| 亚洲视频国产视频| 国产亚洲精品bv在线观看| 相泽南亚洲一区二区在线播放| 亚洲欧洲久久av|