1. 程式人生 > >Java中this關鍵字、static關鍵字、final關鍵字、instanceof關鍵字用法詳解

Java中this關鍵字、static關鍵字、final關鍵字、instanceof關鍵字用法詳解

1、this關鍵字

this關鍵字代表是物件的引用。也就是this在指向一個物件,所指向的物件就是呼叫該函式的物件引用。實際工作中,存在著建構函式之間的相互呼叫,但是建構函式不是普通的成員函式,不能通過函式名自己接呼叫所以sun公司提供this關鍵字。

        a.this只能在非靜態中(沒有static修飾的)函式使用.
        b.建構函式間相互呼叫必須放在建構函式的第一個語句中,否則編譯錯誤.

        c.可以解決建構函式中物件屬性和函式形參的同名問題.

2、static關鍵字(為了實現物件之間重複屬性的資料共享)

a、static關鍵字的的特點

    1)隨著類的載入而載入,靜態會隨著類的載入而載入,隨著類的消失而消失。
    2)優先於物件存在。(靜態是先存在,物件是後存在。)
    3)被所有例項(物件)所共享。

    4)可以直接被類名呼叫。

b、使用static時應注意

    1)主要用於修飾類的成員

        非靜態成員變數:需要建立物件來訪問。

        靜態成員變數:使用類名直接呼叫,也可以通過物件訪問。

     2)成員方法

        靜態函式中不能訪問非靜態成員變數,只能訪問靜態變數。
        靜態方法不可以定義this,super關鍵字。因為靜態優先於物件存在.靜態方法中更不可以出現this。

        非靜態函式:非靜態函式中可以訪問靜態成員變數

c、使用static的優缺點

        優點:對物件的共享資料進行單獨空間的儲存,節省空間。

        缺點:生命週期過長。

3、final關鍵字

final關鍵字主要用於修飾類、類成員、方法、以及方法的形參。

    1)final修飾成員變數:說明該成員屬性是常量,不能被修改。一般與static結合使用。(常量不能被修改)

    2)final修飾類:  該類是終類,不能被修改。(如JavaAPI中的String、Integer類)

    3)final修飾方法:該方法是最終方法,不能被重寫。當一個類被繼承,那麼所有的非私有函式都將被繼承,如果函式不想被子類繼承並重寫可以將該函式final修飾。

4、instanceof關鍵字(主要用於多型)

    判斷一個物件是否屬於指定的類別。

    使用前提:判斷物件與指定的 類別必須要存在繼承或者實現(介面)的關係。

注:this與super很像,但是this 指向的是當前函式的呼叫物件,super指的是當前呼叫物件的父類。