最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

JAVA關(guān)鍵字:final

2023-06-04 21:06 作者:XLongDD  | 我要投稿

final

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

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í)直接賦值。


JAVA關(guān)鍵字:final的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
肇庆市| 子长县| 庆城县| 绩溪县| 柳江县| 崇文区| 察雅县| 阳泉市| 塘沽区| 揭东县| 当阳市| 凤台县| 许昌县| 韶关市| 三亚市| 剑河县| 玉田县| 河间市| 肇州县| 石楼县| 西贡区| 治县。| 哈巴河县| 长顺县| 双桥区| 柳州市| 河北省| 奉化市| 铁岭县| 涟源市| 泌阳县| 措勤县| 遵化市| 灵石县| 全椒县| 柳江县| 清水县| 陵水| 平武县| 景泰县| 彝良县|