您好,登錄后才能下訂單哦!
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 語句(沒有“*”)來避免不確定性。
看完上述內容,你們掌握JAVA中有哪些常用的關鍵字的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。