您好,登錄后才能下訂單哦!
JAVA中有哪些常用的關(guān)鍵字,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
public(公共的)
1、public 關(guān)鍵字是可以應(yīng)用于類、方法或字段(在類中聲明的變量)的訪問控制修飾符。
2、可以在其他任何類或包中引用 public 類、方法或字段。
3、除非存在特定的訪問控制修飾符,否則,可以從同一個(gè)包中的任何類訪問類成員。
protected(受保護(hù)的)
1、protected 關(guān)鍵字是可以應(yīng)用于類、方法或字段(在類中聲明的變量)的訪問控制修飾符。
2、可以在聲明 protected 類、方法或字段的類、同一個(gè)包中的其他任何類以及任何子類(無論子類是在哪個(gè)包中聲明的)中引用這些類、方法或字段。
3、除非存在特定的訪問控制修飾符,否則,可以從同一個(gè)包中的任何類訪問類成員。
private(受保護(hù)的)
1、private 關(guān)鍵字是可以應(yīng)用于類、方法或字段(在類中聲明的變量)的訪問控制修飾符。
2、只能在聲明 private(內(nèi)部)類、方法或字段的類中引用這些類、方法或字段。在類的外部或者對(duì)于子類而言,它們是不可見的。
3、只能在本類內(nèi)訪問類成員。
用于定義類、函數(shù)、變量修飾符的關(guān)鍵字
abstract(生命抽象)
1、abstract關(guān)鍵字可以修改類或方法。
2、abstract類可以擴(kuò)展(增加子類),但不能直接實(shí)例化。
3、abstract方法不在聲明它的類中實(shí)現(xiàn),但必須在某個(gè)子類中重寫。
4、采用 abstract方法的類本來就是抽象類,并且必須聲明為abstract。
final(最終、不可改變)
1、主要應(yīng)用在三個(gè)地方:變量、方法、類。
2、對(duì)于一個(gè)final變量。如果是基本數(shù)據(jù)類型的變量,則其數(shù)值一旦初始化之后便不能更改;如果是引用類型的變量,則對(duì)其初始化之后便不能讓其再指向另一個(gè)對(duì)象。
3、當(dāng)final修飾一個(gè)類時(shí),表明這個(gè)類不能被繼承,final類中所有成員方法都會(huì)被隱式地指定為final方法。
4、使用final方法的原因有兩個(gè)。第一個(gè)原因是把方法鎖定,以防任何繼承類修改它的含義;第二個(gè)原因是效率,在早期的java實(shí)現(xiàn)版本中,會(huì)將final方法轉(zhuǎn)換為內(nèi)嵌調(diào)用。但如果方法過于龐大,可能看不到內(nèi)嵌調(diào)用帶來的任何性能提升(現(xiàn)在的java版本已經(jīng)不再需要使用final方法進(jìn)行這些優(yōu)化了)。類中所有的private方法都隱式地指定為final。
static(靜態(tài))
1、在Java語言中,static主要有4中使用情況:成員變量、成員方法、代碼塊和內(nèi)部類。
2、用static關(guān)鍵字修飾的靜態(tài)變量和不用static關(guān)鍵字修飾的實(shí)例變量。靜態(tài)變量屬于類,在內(nèi)存中只有一個(gè)復(fù)制,只要靜態(tài)變量所在的類被加載,這個(gè)靜態(tài)變量就會(huì)被分配空間,因此就可以被使用了。對(duì)靜態(tài)變量的引用有兩種方式,分別是“類.靜態(tài)變量"和”對(duì)象.靜態(tài)變量"。
實(shí)例變量屬于對(duì)象,只有對(duì)象被創(chuàng)建后,實(shí)例變量才會(huì)被分配內(nèi)存空間,才能被使用,它在內(nèi)存中存在多個(gè)復(fù)制,只有用“對(duì)象.實(shí)例變量”的方式來引用。
3、Java中提供了static方法和非static方法。static方法是類的方法,不需要?jiǎng)?chuàng)建對(duì)象就可以被調(diào)用,而非static方法是對(duì)象的方法,只有對(duì)象被創(chuàng)建出來后才可以被使用。
static方法中不能使用this和super關(guān)鍵字,不能調(diào)用非static方法,只能訪問所屬類的靜態(tài)成員變量和成員方法,因?yàn)楫?dāng)static方法被調(diào)用時(shí),這個(gè)類的對(duì)象可能還沒被創(chuàng)建,即使已經(jīng)被創(chuàng)建了,也無法確定調(diào)用哪個(gè)對(duì)象的方法。同理,static方法也不能訪問非static類型的變量。
4、static代碼塊在類中是獨(dú)立于成員變量和成員函數(shù)的代碼塊的。注意:這些static代碼塊只會(huì)被執(zhí)行一次
5、static(內(nèi)部)類可以被其他類實(shí)例化和引用(即使它是頂級(jí)類)。
6、static與final結(jié)合使用表示的意思:
對(duì)于變量,若使用static final修飾,表示一旦賦值不能修改,并且通過類名可以訪問。
對(duì)于方法,若使用static final修飾,表示該方法不可被覆蓋,并且可以通過類名直接訪問。
synchronized(線程、同步)
1、synchronized 關(guān)鍵字可以應(yīng)用于方法或語句塊,并為一次只應(yīng)由一個(gè)線程執(zhí)行的關(guān)鍵代碼段提供保護(hù)。
2、synchronized 關(guān)鍵字可防止代碼的關(guān)鍵代碼段一次被多個(gè)線程執(zhí)行。
3、如果應(yīng)用于靜態(tài)方法,那么,當(dāng)該方法一次由一個(gè)線程執(zhí)行時(shí),整個(gè)類將被鎖定。
4、如果應(yīng)用于實(shí)例方法,那么,當(dāng)該方法一次由一個(gè)線程訪問時(shí),該實(shí)例將被鎖定。
5、如果應(yīng)用于對(duì)象或數(shù)組,當(dāng)關(guān)聯(lián)的代碼塊一次由一個(gè)線程執(zhí)行時(shí),對(duì)象或數(shù)組將被鎖定。
由于定義類與類之間關(guān)系的的關(guān)鍵字
extends(繼承、擴(kuò)展)
1、extends 關(guān)鍵字用在 class 或 interface 聲明中,用于指示所聲明的類或接口是其名稱后跟有 extends 關(guān)鍵字的類或接口的子類。
2、子類繼承父類的所有 public 和 protected 變量和方法。
3、子類可以重寫父類的任何非 final 方法。
4、一個(gè)類只能擴(kuò)展一個(gè)其他類。
implements(實(shí)現(xiàn))
1、implements 關(guān)鍵字在 class 聲明中使用,以指示所聲明的類提供了在 implements 關(guān)鍵字后面的名稱所指定的接口中所聲明的所有方法的實(shí)現(xiàn)。
2、類必須提供在接口中所聲明的所有方法的實(shí)現(xiàn)。
3、一個(gè)類可以實(shí)現(xiàn)多個(gè)接口。
由于定義建立實(shí)例及引用實(shí)例,判斷實(shí)例的關(guān)鍵字。
new (新,創(chuàng)建)
1、new 關(guān)鍵字用于創(chuàng)建類的新實(shí)例。
2、new 關(guān)鍵字后面的參數(shù)必須是類名,并且類名的后面必須是一組構(gòu)造方法參數(shù)(必須帶括號(hào))。
3、參數(shù)集合必須與類的構(gòu)造方法的簽名匹配。
4、= 左側(cè)的變量的類型必須與要實(shí)例化的類或接口具有賦值兼容關(guān)系。
this(本類)
1、this 關(guān)鍵字用于引用當(dāng)前實(shí)例。
2、當(dāng)引用可能不明確時(shí),可以使用 this 關(guān)鍵字來引用當(dāng)前的實(shí)例。
super(父類、超類)
1、super 關(guān)鍵字用于引用使用該關(guān)鍵字的類的超類。
2、作為獨(dú)立語句出現(xiàn)的 super 表示調(diào)用超類的構(gòu)造方法。
3、super.() 表示調(diào)用超類的方法。只有在如下情況中才需要采用這種用法:要調(diào)用在該類中被重寫的方法,以便指定應(yīng)當(dāng)調(diào)用在超類中的該方法。
instanceof(實(shí)例)
1、instanceof 關(guān)鍵字用來確定對(duì)象所屬的類。
用于處理異常的關(guān)鍵字
try(捕獲異常)
1、try 關(guān)鍵字用于包含可能引發(fā)異常的語句塊。
2、每個(gè) try 塊都必須至少有一個(gè) catch 或 finally 子句。
3、如果某個(gè)特定異常類未被任何 catch 子句處理,該異常將沿著調(diào)用棧遞歸地傳播到下一個(gè)封閉 try 塊。如果任何封閉 try 塊都未捕獲到異常,Java 解釋器將退出,并顯示錯(cuò)誤消息和堆棧跟蹤信息。
catch(處理異常)
1、catch 關(guān)鍵字用來在 try-catch 或 try-catch-finally 語句中定義異常處理塊。
2、開始和結(jié)束標(biāo)記 { 和 } 是 catch 子句語法的一部分,即使該子句只包含一個(gè)語句,也不能省略這兩個(gè)標(biāo)記。
finally(必須執(zhí)行)
1、finally關(guān)鍵字用來定義始終在try-catch-finally語句中執(zhí)行的塊。
2、finally塊通常包含清理代碼,用在部分執(zhí)行try塊后恢復(fù)正常運(yùn)行。
3、finally塊的return語句優(yōu)先執(zhí)行。
throw(拋出一個(gè)異常對(duì)象)
1、throw 關(guān)鍵字用于引發(fā)異常。
2、throw 語句將 java.lang.Throwable 作為參數(shù)。Throwable 在調(diào)用棧中向上傳播,直到被適當(dāng)?shù)?catch 塊捕獲。
3、引發(fā)非 RuntimeException 異常的任何方法還必須在方法聲明中使用 throws 修飾符來聲明它引發(fā)的異常。
throws(聲明一個(gè)異??赡鼙粧伋?
1、throws 關(guān)鍵字可以應(yīng)用于方法,以便指出方法引發(fā)了特定類型的異常。
2、throws 關(guān)鍵字將逗號(hào)分隔的 java.lang.Throwables 列表作為參數(shù)。
3、引發(fā)非 RuntimeException 異常的任何方法還必須在方法聲明中使用 throws 修飾符來聲明它引發(fā)的異常。
4、要在 try-catch 塊中包含帶 throws 子句的方法的調(diào)用,必須提供該方法的調(diào)用者。
用于包的關(guān)鍵字
package(包)
1、package 關(guān)鍵字指定在 Java 源文件中聲明的類所駐留的 Java 包。
2、package 語句(如果出現(xiàn))必須是 Java 源文件中的第一個(gè)非注釋性文本。
例:java.lang.Object。
如果 Java 源文件不包含 package 語句,在該文件中定義的類將位于“默認(rèn)包”中。請(qǐng)注意,不能從非默認(rèn)包中的類引用默認(rèn)包中的類。
import(引入)
1、import 關(guān)鍵字使一個(gè)包中的一個(gè)或所有類在當(dāng)前 Java 源文件中可見??梢圆皇褂猛耆薅ǖ念惷麃硪脤?dǎo)入的類。
2、當(dāng)多個(gè)包包含同名的類時(shí),許多 Java 程序員只使用特定的 import 語句(沒有“*”)來避免不確定性。
看完上述內(nèi)容,你們掌握J(rèn)AVA中有哪些常用的關(guān)鍵字的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。