欧美日韩亚洲综合一区二区三区_国产精品综合久久_中文字幕在线看视频国产欧美_欧美精品一区二区三区在线

您的位置:首頁 >關注 > 正文

JAVA關鍵字:final 每日報道

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的,我們必須在聲明變量時直接賦值。

關鍵詞

熱門資訊

主站蜘蛛池模板: 日本久久久久久| 俄罗斯精品一区二区三区| 久久精品视频在线观看| 日韩免费av片在线观看| 国产免费一区二区视频| 欧美精品www| 国产精品国产三级国产专播精品人| 青青精品视频播放| 午夜精品久久久久久久男人的天堂| 国产精品99久久久久久久| 国产日韩在线亚洲字幕中文| 久久偷窥视频| 奇米四色中文综合久久| 婷婷视频在线播放| 91精品国产91久久久久福利| 99在线视频免费观看| 国产精品嫩草视频| 国产欧美 在线欧美| 久久精品在线视频| 久久九九国产视频| 精品成在人线av无码免费看| 国产一区二区精品在线| 精品国产欧美成人夜夜嗨| 久久riav| 国产视频99| 国产精品乱码视频| 97成人精品视频在线观看| 91精品国产综合久久久久久蜜臀 | 一区二区三区欧美在线| 99久久99久久精品国产片| 国产精品久久久久久久久免费| 国产噜噜噜噜噜久久久久久久久| 久久久久国产精品免费| 国产综合免费视频| 国产精品久久久久久久久久久久| 国产精品久久久久久久天堂| 国产成人精品电影久久久| 国产精品av电影| 亚洲精品自在在线观看| 日韩精品一区二区三区丰满| 欧美亚洲另类久久综合|