国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java 中的static關鍵字和final關鍵字的不同之處

2019-11-26 16:13:09
字體:
來源:轉載
供稿:網友

static

1.在類中,用static修飾的屬性,稱為靜態屬性。為這個類的所有對象所共有,存放在靜態存儲區,所有該類的對象都可以訪問且訪問的都是同一變量。可以用作計數器,來統計總共創建了多少個各類的對象。

2.在類中,用static 修飾的方法為靜態方法,在靜態方法中不可以訪問非靜態的屬性和方法,但在非靜態方法中可以訪問靜態方法和屬性;且static方法多態失效,不能使用this。

3.由于靜態屬性和方法是屬于該類的所有對象的,所以可以用類名.靜態屬性/方法名---來訪問。

4.static 還可以修飾代碼塊,在類加載的時候被執行1次,僅且一次。

final

(1)final標記的類不能被繼承

復制代碼 代碼如下:

final class T{}

class TT extends T{}//出錯,final類不能被繼承


(2)final標記的方法不能被子類重寫

復制代碼 代碼如下:

class T{

    public final void function(){}
}

class TT extends T{

    public void function(){}//出錯,final方法不能被子類重寫
}


(3)final標記的局部變量為常量        
復制代碼 代碼如下:

final int x=10;
x=3//出錯,final標記的局部變量為常量,不能被賦值

 (4)final標記的成員變量必須在聲明的同時賦值,或在該類的構造方法中顯示賦值(實例變量沒有默認值),然后才能使用。

如:

復制代碼 代碼如下:

class Test{
final int x=10;//聲明并賦值

}

//或者

class Test{
    final int x;
    Test(){
     x=10;

}
 


(5)方法中定義的內置類只能訪問該方法內的final類型的局部變量,用final定義的局部變量相當于一個常量,它的生命周期長于方法運行的生命周期。

(6)將一個形參定義成final也是可以的,這就限制了在方法中修改形參的值范圍。

java中有許多的類為final類型:String ,Math等等。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黑山县| 崇明县| 大荔县| 屯留县| 中西区| 宣武区| 上思县| 台东县| 宝应县| 舟曲县| 本溪| 来安县| 化州市| 渭南市| 枝江市| 西华县| 黄浦区| 张家港市| 长治县| 沾益县| 安达市| 罗甸县| 林芝县| 雅江县| 东光县| 衢州市| 广东省| 祁东县| 凌云县| 雷波县| 娄底市| 万盛区| 桂东县| 肥乡县| 英吉沙县| 志丹县| 南宫市| 松桃| 华池县| 滦南县| 灵宝市|