更新時(shí)間:2022-11-25 12:54:08 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2285次
Java中的關(guān)鍵字有哪些?動(dòng)力節(jié)點(diǎn)小編來(lái)告訴大家。
1.public 關(guān)鍵字是可以應(yīng)用于類、方法或字段(在類中聲明的變量)的訪問(wèn)控制修飾符。
2.可以在其他任何類或包中引用 public 類、方法或字段。
3.除非存在特定的訪問(wèn)控制修飾符,否則,可以從同一個(gè)包中的任何類訪問(wèn)類成員。
1.protected 關(guān)鍵字是可以應(yīng)用于類、方法或字段(在類中聲明的變量)的訪問(wèn)控制修飾符。
2.可以在聲明 protected 類、方法或字段的類、同一個(gè)包中的其他任何類以及任何子類(無(wú)論子類是在哪個(gè)包中聲明的)中引用這些類、方法或字段。
3.除非存在特定的訪問(wèn)控制修飾符,否則,可以從同一個(gè)包中的任何類訪問(wèn)類成員。
1.private 關(guān)鍵字是可以應(yīng)用于類、方法或字段(在類中聲明的變量)的訪問(wèn)控制修飾符。
2.只能在聲明 private(內(nèi)部)類、方法或字段的類中引用這些類、方法或字段。在類的外部或者對(duì)于子類而言,它們是不可見(jiàn)的。
3.只能在本類內(nèi)訪問(wèn)類成員。
用于定義類、函數(shù)、變量修飾符的關(guān)鍵字
1.abstract關(guān)鍵字可以修改類或方法。
2.abstract類可以擴(kuò)展(增加子類),但不能直接實(shí)例化。
3.abstract方法不在聲明它的類中實(shí)現(xiàn),但必須在某個(gè)子類中重寫。
4.采用 abstract方法的類本來(lái)就是抽象類,并且必須聲明為abstract。
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)用。但如果方法過(guò)于龐大,可能看不到內(nèi)嵌調(diào)用帶來(lái)的任何性能提升(現(xiàn)在的java版本已經(jīng)不再需要使用final方法進(jìn)行這些優(yōu)化了)。類中所有的private方法都隱式地指定為final。
1.在Java語(yǔ)言中,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í)例變量”的方式來(lái)引用。
3.Java中提供了static方法和非static方法。static方法是類的方法,不需要?jiǎng)?chuàng)建對(duì)象就可以被調(diào)用,而非static方法是對(duì)象的方法,只有對(duì)象被創(chuàng)建出來(lái)后才可以被使用。
static方法中不能使用this和super關(guān)鍵字,不能調(diào)用非static方法,只能訪問(wèn)所屬類的靜態(tài)成員變量和成員方法,因?yàn)楫?dāng)static方法被調(diào)用時(shí),這個(gè)類的對(duì)象可能還沒(méi)被創(chuàng)建,即使已經(jīng)被創(chuàng)建了,也無(wú)法確定調(diào)用哪個(gè)對(duì)象的方法。同理,static方法也不能訪問(wèn)非static類型的變量。
4.static代碼塊在類中是獨(dú)立于成員變量和成員函數(shù)的代碼塊的。注意:這些static代碼塊只會(huì)被執(zhí)行一次
5.static(內(nèi)部)類可以被其他類實(shí)例化和引用(即使它是頂級(jí)類)。
6.static與final結(jié)合使用表示的意思:
對(duì)于變量,若使用static final修飾,表示一旦賦值不能修改,并且通過(guò)類名可以訪問(wèn)。
對(duì)于方法,若使用static final修飾,表示該方法不可被覆蓋,并且可以通過(guò)類名直接訪問(wèn)。
1.synchronized 關(guān)鍵字可以應(yīng)用于方法或語(yǔ)句塊,并為一次只應(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è)線程訪問(wèn)時(shí),該實(shí)例將被鎖定。
5.如果應(yīng)用于對(duì)象或數(shù)組,當(dāng)關(guān)聯(lián)的代碼塊一次由一個(gè)線程執(zhí)行時(shí),對(duì)象或數(shù)組將被鎖定。
由于定義類與類之間關(guān)系的的關(guān)鍵字
1.extends 關(guān)鍵字用在 class 或 interface 聲明中,用于指示所聲明的類或接口是其名稱后跟有 extends 關(guān)鍵字的類或接口的子類。
2.子類繼承父類的所有 public 和 protected 變量和方法。
3.子類可以重寫父類的任何非 final 方法。
4.一個(gè)類只能擴(kuò)展一個(gè)其他類。
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)鍵字
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)系。
1.this 關(guān)鍵字用于引用當(dāng)前實(shí)例。
2.當(dāng)引用可能不明確時(shí),可以使用 this 關(guān)鍵字來(lái)引用當(dāng)前的實(shí)例。
1.super 關(guān)鍵字用于引用使用該關(guān)鍵字的類的超類。
2.作為獨(dú)立語(yǔ)句出現(xiàn)的 super 表示調(diào)用超類的構(gòu)造方法。
3.super.() 表示調(diào)用超類的方法。只有在如下情況中才需要采用這種用法:要調(diào)用在該類中被重寫的方法,以便指定應(yīng)當(dāng)調(diào)用在超類中的該方法。
1.instanceof 關(guān)鍵字用來(lái)確定對(duì)象所屬的類。
用于處理異常的關(guān)鍵字
1.try 關(guān)鍵字用于包含可能引發(fā)異常的語(yǔ)句塊。
2.每個(gè) try 塊都必須至少有一個(gè) catch 或 finally 子句。
3.如果某個(gè)特定異常類未被任何 catch 子句處理,該異常將沿著調(diào)用棧遞歸地傳播到下一個(gè)封閉 try 塊。如果任何封閉 try 塊都未捕獲到異常,Java 解釋器將退出,并顯示錯(cuò)誤消息和堆棧跟蹤信息。
1.catch 關(guān)鍵字用來(lái)在 try-catch 或 try-catch-finally 語(yǔ)句中定義異常處理塊。
2.開始和結(jié)束標(biāo)記 { 和 } 是 catch 子句語(yǔ)法的一部分,即使該子句只包含一個(gè)語(yǔ)句,也不能省略這兩個(gè)標(biāo)記。
1.finally關(guān)鍵字用來(lái)定義始終在try-catch-finally語(yǔ)句中執(zhí)行的塊。
2.finally塊通常包含清理代碼,用在部分執(zhí)行try塊后恢復(fù)正常運(yùn)行。
3.finally塊的return語(yǔ)句優(yōu)先執(zhí)行。
1.throw 關(guān)鍵字用于引發(fā)異常。
2.throw 語(yǔ)句將 java.lang.Throwable 作為參數(shù)。Throwable 在調(diào)用棧中向上傳播,直到被適當(dāng)?shù)?catch 塊捕獲。
3.引發(fā)非 RuntimeException 異常的任何方法還必須在方法聲明中使用 throws 修飾符來(lái)聲明它引發(fā)的異常。
1.throws 關(guān)鍵字可以應(yīng)用于方法,以便指出方法引發(fā)了特定類型的異常。
2.throws 關(guān)鍵字將逗號(hào)分隔的 java.lang.Throwables 列表作為參數(shù)。
3.引發(fā)非 RuntimeException 異常的任何方法還必須在方法聲明中使用 throws 修飾符來(lái)聲明它引發(fā)的異常。
4.要在 try-catch 塊中包含帶 throws 子句的方法的調(diào)用,必須提供該方法的調(diào)用者。
用于包的關(guān)鍵字
1.package 關(guān)鍵字指定在 Java 源文件中聲明的類所駐留的 Java 包。
2.package 語(yǔ)句(如果出現(xiàn))必須是 Java 源文件中的第一個(gè)非注釋性文本。
例:java.lang.Object。
如果 Java 源文件不包含 package 語(yǔ)句,在該文件中定義的類將位于“默認(rèn)包”中。請(qǐng)注意,不能從非默認(rèn)包中的類引用默認(rèn)包中的類。
1.import 關(guān)鍵字使一個(gè)包中的一個(gè)或所有類在當(dāng)前 Java 源文件中可見(jiàn)。可以不使用完全限定的類名來(lái)引用導(dǎo)入的類。
2.當(dāng)多個(gè)包包含同名的類時(shí),許多 Java 程序員只使用特定的 import 語(yǔ)句(沒(méi)有“*”)來(lái)避免不確定性。????
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743