Java常用關鍵字總結

常用關鍵字彙總圖

在這裏插入圖片描述

詳細解釋

用於定義訪問控制修飾符的關鍵字

控制範圍圖

在這裏插入圖片描述

public(公共的)

1、public 關鍵字是可以應用於類、方法或字段(在類中聲明的變量)的訪問控制修飾符。
2、可以在其他任何類或包中引用 public 類、方法或字段。
3、除非存在特定的訪問控制修飾符,否則,可以從同一個包中的任何類訪問類成員。

protected(受保護的)

1、protected 關鍵字是可以應用於類、方法或字段(在類中聲明的變量)的訪問控制修飾符。
2、可以在聲明 protected 類、方法或字段的類、同一個包中的其他任何類以及任何子類(無論子類是在哪個包中聲明的)中引用這些類、方法或字段。
3、除非存在特定的訪問控制修飾符,否則,可以從同一個包中的任何類訪問類成員。

private(受保護的)

1、private 關鍵字是可以應用於類、方法或字段(在類中聲明的變量)的訪問控制修飾符。
2、只能在聲明 private(內部)類、方法或字段的類中引用這些類、方法或字段。在類的外部或者對於子類而言,它們是不可見的。
3、只能在本類內訪問類成員。

用於定義類、函數、變量修飾符的關鍵字

abstract(生命抽象)

1、abstract關鍵字可以修改類或方法。
2、abstract類可以擴展(增加子類),但不能直接實例化。
3、abstract方法不在聲明它的類中實現,但必須在某個子類中重寫。
4、採用 abstract方法的類本來就是抽象類,並且必須聲明爲abstract。

final(最終、不可改變)

1、主要應用在三個地方:變量、方法、類。
2、對於一個final變量。如果是基本數據類型的變量,則其數值一旦初始化之後便不能更改;如果是引用類型的變量,則對其初始化之後便不能讓其再指向另一個對象。
3、當final修飾一個類時,表明這個類不能被繼承,final類中所有成員方法都會被隱式地指定爲final方法。
4、使用final方法的原因有兩個。第一個原因是把方法鎖定,以防任何繼承類修改它的含義;第二個原因是效率,在早期的java實現版本中,會將final方法轉換爲內嵌調用。但如果方法過於龐大,可能看不到內嵌調用帶來的任何性能提升(現在的java版本已經不再需要使用final方法進行這些優化了)。類中所有的private方法都隱式地指定爲final。

static(靜態)

1、在Java語言中,static主要有4中使用情況:成員變量、成員方法、代碼塊和內部類。
2、用static關鍵字修飾的靜態變量和不用static關鍵字修飾的實例變量。靜態變量屬於類,在內存中只有一個複製,只要靜態變量所在的類被加載,這個靜態變量就會被分配空間,因此就可以被使用了。對靜態變量的引用有兩種方式,分別是“類.靜態變量"和”對象.靜態變量"。
實例變量屬於對象,只有對象被創建後,實例變量纔會被分配內存空間,才能被使用,它在內存中存在多個複製,只有用“對象.實例變量”的方式來引用。
3、Java中提供了static方法和非static方法。static方法是類的方法,不需要創建對象就可以被調用,而非static方法是對象的方法,只有對象被創建出來後纔可以被使用。
static方法中不能使用this和super關鍵字,不能調用非static方法,只能訪問所屬類的靜態成員變量和成員方法,因爲當static方法被調用時,這個類的對象可能還沒被創建,即使已經被創建了,也無法確定調用哪個對象的方法。同理,static方法也不能訪問非static類型的變量。
4、static代碼塊在類中是獨立於成員變量和成員函數的代碼塊的。注意:這些static代碼塊只會被執行一次
5、static(內部)類可以被其他類實例化和引用(即使它是頂級類)。
6、static與final結合使用表示的意思:
對於變量,若使用static final修飾,表示一旦賦值不能修改,並且通過類名可以訪問。
對於方法,若使用static final修飾,表示該方法不可被覆蓋,並且可以通過類名直接訪問。

synchronized(線程、同步)

1、synchronized 關鍵字可以應用於方法或語句塊,併爲一次只應由一個線程執行的關鍵代碼段提供保護。
2、synchronized 關鍵字可防止代碼的關鍵代碼段一次被多個線程執行。
3、如果應用於靜態方法,那麼,當該方法一次由一個線程執行時,整個類將被鎖定。
4、如果應用於實例方法,那麼,當該方法一次由一個線程訪問時,該實例將被鎖定。
5、如果應用於對象或數組,當關聯的代碼塊一次由一個線程執行時,對象或數組將被鎖定。

由於定義類與類之間關係的的關鍵字

extends(繼承、擴展)

1、extends 關鍵字用在 class 或 interface 聲明中,用於指示所聲明的類或接口是其名稱後跟有 extends 關鍵字的類或接口的子類。
2、子類繼承父類的所有 public 和 protected 變量和方法。
3、子類可以重寫父類的任何非 final 方法。
4、一個類只能擴展一個其他類。

implements(實現)

1、implements 關鍵字在 class 聲明中使用,以指示所聲明的類提供了在 implements 關鍵字後面的名稱所指定的接口中所聲明的所有方法的實現。2、類必須提供在接口中所聲明的所有方法的實現。
3、一個類可以實現多個接口。

由於定義建立實例及引用實例,判斷實例的關鍵字

new (新,創建)

1、new 關鍵字用於創建類的新實例。
2、new 關鍵字後面的參數必須是類名,並且類名的後面必須是一組構造方法參數(必須帶括號)。
3、參數集合必須與類的構造方法的簽名匹配。
4、= 左側的變量的類型必須與要實例化的類或接口具有賦值兼容關係。

this(本類)

1、this 關鍵字用於引用當前實例。
2、當引用可能不明確時,可以使用 this 關鍵字來引用當前的實例。

super(父類、超類)

1、super 關鍵字用於引用使用該關鍵字的類的超類。
2、作爲獨立語句出現的 super 表示調用超類的構造方法。
3、super.() 表示調用超類的方法。只有在如下情況中才需要採用這種用法:要調用在該類中被重寫的方法,以便指定應當調用在超類中的該方法。

instanceof(實例)

1、instanceof 關鍵字用來確定對象所屬的類。

用於處理異常的關鍵字

try(捕獲異常)

1、try 關鍵字用於包含可能引發異常的語句塊。
2、每個 try 塊都必須至少有一個 catch 或 finally 子句。
3、如果某個特定異常類未被任何 catch 子句處理,該異常將沿着調用棧遞歸地傳播到下一個封閉 try 塊。如果任何封閉 try 塊都未捕獲到異常,Java 解釋器將退出,並顯示錯誤消息和堆棧跟蹤信息。

catch(處理異常)

1、catch 關鍵字用來在 try-catch 或 try-catch-finally 語句中定義異常處理塊。
2、開始和結束標記 { 和 } 是 catch 子句語法的一部分,即使該子句只包含一個語句,也不能省略這兩個標記。

finally(必須執行)

1、finally關鍵字用來定義始終在try-catch-finally語句中執行的塊。
2、finally塊通常包含清理代碼,用在部分執行try塊後恢復正常運行。
3、finally塊的return語句優先執行。

throw(拋出一個異常對象)

1、throw 關鍵字用於引發異常。
2、throw 語句將 java.lang.Throwable 作爲參數。Throwable 在調用棧中向上傳播,直到被適當的 catch 塊捕獲。
3、引發非 RuntimeException 異常的任何方法還必須在方法聲明中使用 throws 修飾符來聲明它引發的異常。

throws(聲明一個異常可能被拋出)

1、throws 關鍵字可以應用於方法,以便指出方法引發了特定類型的異常。
2、throws 關鍵字將逗號分隔的 java.lang.Throwables 列表作爲參數。
3、引發非 RuntimeException 異常的任何方法還必須在方法聲明中使用 throws 修飾符來聲明它引發的異常。
4、要在 try-catch 塊中包含帶 throws 子句的方法的調用,必須提供該方法的調用者。

用於包的關鍵字

package(包)

1、package 關鍵字指定在 Java 源文件中聲明的類所駐留的 Java 包。
2、package 語句(如果出現)必須是 Java 源文件中的第一個非註釋性文本。

例:java.lang.Object。
如果 Java 源文件不包含 package 語句,在該文件中定義的類將位於“默認包”中。請注意,不能從非默認包中的類引用默認包中的類。

import(引入)

1、import 關鍵字使一個包中的一個或所有類在當前 Java 源文件中可見。可以不使用完全限定的類名來引用導入的類。
2、當多個包包含同名的類時,許多 Java 程序員只使用特定的 import 語句(沒有“*”)來避免不確定性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章