1. 程式人生 > >總結static、this、super、final關鍵字的使用

總結static、this、super、final關鍵字的使用

static關鍵字:

  1. 使用static可以修飾成員變數,常量,方法和程式碼塊
  2. 靜態成員是全域性的,歸整個類所有,不依賴特定的物件,是被所有類的物件所共享的。
  3. 只要類被java虛擬機器載入,就可以根據類名在全域性資料域內找到他們。

同一個類的一個方法呼叫另一個方法時,如果被呼叫方法是普通方法,則預設用this作為呼叫者。如果被呼叫方法是靜態方法,則預設使用類作為呼叫者。

沒有static修飾的方法則屬於該類的物件,不屬於這個類的本身。因此沒有static修飾的方法只能使用物件作為呼叫者,不能使用類作為呼叫者。

this關鍵字:

this方法總是指向呼叫該方法的物件。

this可以代表任何物件,當this出現在某個方法體中時,它所代表的物件是不確定的,但它的型別是確定的,它所代表的只能是當前類的例項。

super關鍵字:

  1. 可以用來呼叫直接父類中的屬性,方法,構造方法
  2. 想要在子類中使用父類的屬性時,就要用super.屬性名
  3. 構造方法不能被繼承(原因:構造方法必須與類名相同,因此不可能被重寫,即不能被繼承),但子類可以通過super呼叫父類的構造方法。編譯器會自動生成。
  4. 構造方法可以被過載,一個類裡面可以有多個構造方法。

final關鍵字:

  1. fianl 修飾類,不存在子類,比如String類
  2. final修飾方法,子類不能重寫。
  3. final進行修飾屬性,為常量,需要初始化,並且不可修改 ,常量命名通常用大寫字母,每個字母中間用下劃線隔開
  4. final進行修飾屬性,子類可以使用

用final修飾的整形,字元型一旦設定進不能改變,但是修飾陣列時,可以修改陣列的某個位置的值,但是不能修改陣列空間。