Java中51個關鍵字詳解
阿新 • • 發佈:2019-02-17
abstract: 修飾符號,宣告抽象方法和抽象類。宣告方法時表示該方法只有特徵簽名,沒有具體實現。而是把具體實現留給繼承該類的子類,並且抽象類不能直接用new來例項化物件即使有公共的建構函式
assert: 斷言,用於定位程式錯誤。它是一種程式的除錯,測試方式
boolean: 布林資料型別,屬於基本資料型別,預設情況下boolean的值為false。
break: 流程控制,用於終止switch或迴圈語句塊。Break終止單迴圈語句,加上標籤後就是終止有標籤標記的外層迴圈。
byte: 位元組型(8位整型),屬於基本資料型別。
case: 用於switch語句中標記一個判斷分支。和switch的表示式的值進行比較,在相等的情況下執行case語句
catch: 標記try異常處理語句的處理程式碼分支。Try 與catch一起用來捕獲程式異常
char: 16位的Unicode編碼字元型,屬於基本資料型別。
class: 用於宣告java類。
continue: 流程控制,用於跳過本次迴圈中未完成部分而繼續下一次迴圈。和break類似,可以在continue後加標籤來跳過外層迴圈的本次執行
default: 用於switch語句中標記預設的分支。即在所有case語句都不執行是執行該語句
do: 標記do/while迴圈的開始,用來宣告一個迴圈,這個迴圈的結束條件可以通過while關鍵字設定
double: 雙精度浮點數,屬於基本資料型別。
else: 標記if分支的否定分支。即在if條件不滿足的情況下執行該語句
extends: 用於標記java類間的繼承關係。
final: 表明終態性,用於宣告不允許被繼承的類和不允許被重寫的方法和常量。它只能定義一個實體一次,以後不能改變它或繼承它。也就是說,一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變數不能改變其初始值。
finally: 標記try異常處理語句的無條件執行程式碼分支。用來執行一段程式碼不管在前面定義的try語句中是否有異常或執行時錯誤發生。
float: 單精度浮點型,屬於基本資料型別。
for: 標記for迴圈。
if: 標記if分支語句。
implements:表明java類介面間的實現關係,它在類的宣告中是可選的,用來指明當前類實現的介面。
import: 匯入軟體包。在原始檔的開始部分指明後面將要引用的一個類或整個包,這樣就不必在使用的時候加上包的名字
instanceof:檢測某個物件是否是某個特定類的例項。即用來測試第一個引數的執行時型別是否和第二個引數相容
int: 基本資料型別-32位整型。
interface:宣告java介面型別。
long: 基本資料型別-長整型。
native: 用於宣告本地方法-無方法體,通過呼叫底層程式碼來實現其功能。它用來宣告本機方法(native method)的。一旦宣告,這些本機方法可以在Java程式中被呼叫,就像呼叫其他Java方法一樣。native method 用C/C++語言實現,並且被編譯成DLL,這些函式的實現體在DLL中,在Java中本機方法體只是一個分號。
例如:
向作業系統請求機器的CPU編號方法,如下:
public native int getCPUID();
native method 以可以被過載或者覆蓋,也可以是final, static, synchronized, public, protected, private 的。但是本機方法不能宣告為abstract或者strictfp型別。
new: 用於建立新物件。即例項化一個物件。
null: 標記一個空的引用。
package: 用於宣告軟體包。
private: 訪問控制修飾符,限制某成員只能在本類中直接被訪問。用在方法或變數的聲中。它表示這個方法或變數只能被這個類的其它元素所訪問
protected:訪問控制修飾符,限制某成員只能在本類,同一包及子類中被直接訪問。在方法和變數的宣告中使用,它表示這個方法或變數只能被同一個類中的,子類中的或者同一個包中的類中的元素所訪問。
public: 訪問控制修飾符,標記某成員可以在任何場合可以被直接訪問。在方法和變數的宣告中使用,它表示這個方法或變數能夠被其它類中的元素訪問。
return: 如果一個方法不為void,即有返回值的時候,用此關鍵字終止方法的執行並返回處理結果給呼叫環境。簡單的說就是用來結束一個方法的執行。它後面可以跟一個方法宣告中要求的值。
short: 基本資料型別,16位的短整型。
static: 修飾符,用於宣告類成員――由整個類共有而不是該類每個例項專屬。即在訪問許可權允許的情況下,可以不用new該類的物件,直接可以用類名加”.”呼叫。
strictfp: 表明浮點數時採用嚴格的規則――使用擴充套件的尾數以及避免精度損失但可以避免產生資料溢位。
super: 在子類表明父類成員或在構造方法中呼叫父類的構造方法。
swtich: 表明switch分支語句。
synchronized:同步處理標記,用於多執行緒共享資料時,在一個方法或語句塊的範圍鎖定一個物件。
this: 標記方法的當前物件,或在構造方法中呼叫同一個類的其他過載構造方法。用來代表它出現的類的一個例項。this可以用來訪問類變數和類方法。
throw: 顯示丟擲異常。它允許使用者丟擲一個exception物件或者任何實現throwable的物件
throws: 在方法宣告中表明其可能丟擲的異常。它用在方法的宣告中來說明哪些異常這個方法是不處理的,而是提交到程式的更高一層。
transient:用於標記不允許被序列化處理的成員物件。用來表示一個域不是該物件序列化的一部分。當一個物件被序列化的時候,transient型變數的值不包括在序列化的表示中,然而非transient型的變數是被包括進去的。
try: 標記一段可能產生異常的程式碼片斷。用來定義一個可能丟擲異常語句塊。如果一個異常被丟擲,一個可選的catch語句塊會處理try語句塊中丟擲的異常。同時,一個finally語句塊會被執行,無論一個異常是否被丟擲。
void: 標記一個方法沒有返回值。"void"也可以用來表示一句沒有任何功能的語句。
volatile: 標記一個成員變數進行強迫性同步處理,確保多執行緒中共享資料的一致性。既它用在變數的宣告中表示這個變數是被同時執行的幾個執行緒非同步修改的。
while: 標記whlie型迴圈。用來定義一段反覆執行的迴圈語句。迴圈的退出條件是while語句的一部分。
goto: 只是作為關鍵字保留,未使用。
assert: 斷言,用於定位程式錯誤。它是一種程式的除錯,測試方式
boolean: 布林資料型別,屬於基本資料型別,預設情況下boolean的值為false。
break: 流程控制,用於終止switch或迴圈語句塊。Break終止單迴圈語句,加上標籤後就是終止有標籤標記的外層迴圈。
byte: 位元組型(8位整型),屬於基本資料型別。
case: 用於switch語句中標記一個判斷分支。和switch的表示式的值進行比較,在相等的情況下執行case語句
catch: 標記try異常處理語句的處理程式碼分支。Try 與catch一起用來捕獲程式異常
char: 16位的Unicode編碼字元型,屬於基本資料型別。
class: 用於宣告java類。
continue: 流程控制,用於跳過本次迴圈中未完成部分而繼續下一次迴圈。和break類似,可以在continue後加標籤來跳過外層迴圈的本次執行
default: 用於switch語句中標記預設的分支。即在所有case語句都不執行是執行該語句
do: 標記do/while迴圈的開始,用來宣告一個迴圈,這個迴圈的結束條件可以通過while關鍵字設定
double: 雙精度浮點數,屬於基本資料型別。
else: 標記if分支的否定分支。即在if條件不滿足的情況下執行該語句
extends: 用於標記java類間的繼承關係。
final: 表明終態性,用於宣告不允許被繼承的類和不允許被重寫的方法和常量。它只能定義一個實體一次,以後不能改變它或繼承它。也就是說,一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變數不能改變其初始值。
finally: 標記try異常處理語句的無條件執行程式碼分支。用來執行一段程式碼不管在前面定義的try語句中是否有異常或執行時錯誤發生。
float: 單精度浮點型,屬於基本資料型別。
for: 標記for迴圈。
if: 標記if分支語句。
implements:表明java類介面間的實現關係,它在類的宣告中是可選的,用來指明當前類實現的介面。
import: 匯入軟體包。在原始檔的開始部分指明後面將要引用的一個類或整個包,這樣就不必在使用的時候加上包的名字
instanceof:檢測某個物件是否是某個特定類的例項。即用來測試第一個引數的執行時型別是否和第二個引數相容
int: 基本資料型別-32位整型。
interface:宣告java介面型別。
long: 基本資料型別-長整型。
native: 用於宣告本地方法-無方法體,通過呼叫底層程式碼來實現其功能。它用來宣告本機方法(native method)的。一旦宣告,這些本機方法可以在Java程式中被呼叫,就像呼叫其他Java方法一樣。native method 用C/C++語言實現,並且被編譯成DLL,這些函式的實現體在DLL中,在Java中本機方法體只是一個分號。
例如:
向作業系統請求機器的CPU編號方法,如下:
public native int getCPUID();
native method 以可以被過載或者覆蓋,也可以是final, static, synchronized, public, protected, private 的。但是本機方法不能宣告為abstract或者strictfp型別。
new: 用於建立新物件。即例項化一個物件。
null: 標記一個空的引用。
package: 用於宣告軟體包。
private: 訪問控制修飾符,限制某成員只能在本類中直接被訪問。用在方法或變數的聲中。它表示這個方法或變數只能被這個類的其它元素所訪問
protected:訪問控制修飾符,限制某成員只能在本類,同一包及子類中被直接訪問。在方法和變數的宣告中使用,它表示這個方法或變數只能被同一個類中的,子類中的或者同一個包中的類中的元素所訪問。
public: 訪問控制修飾符,標記某成員可以在任何場合可以被直接訪問。在方法和變數的宣告中使用,它表示這個方法或變數能夠被其它類中的元素訪問。
return: 如果一個方法不為void,即有返回值的時候,用此關鍵字終止方法的執行並返回處理結果給呼叫環境。簡單的說就是用來結束一個方法的執行。它後面可以跟一個方法宣告中要求的值。
short: 基本資料型別,16位的短整型。
static: 修飾符,用於宣告類成員――由整個類共有而不是該類每個例項專屬。即在訪問許可權允許的情況下,可以不用new該類的物件,直接可以用類名加”.”呼叫。
strictfp: 表明浮點數時採用嚴格的規則――使用擴充套件的尾數以及避免精度損失但可以避免產生資料溢位。
super: 在子類表明父類成員或在構造方法中呼叫父類的構造方法。
swtich: 表明switch分支語句。
synchronized:同步處理標記,用於多執行緒共享資料時,在一個方法或語句塊的範圍鎖定一個物件。
this: 標記方法的當前物件,或在構造方法中呼叫同一個類的其他過載構造方法。用來代表它出現的類的一個例項。this可以用來訪問類變數和類方法。
throw: 顯示丟擲異常。它允許使用者丟擲一個exception物件或者任何實現throwable的物件
throws: 在方法宣告中表明其可能丟擲的異常。它用在方法的宣告中來說明哪些異常這個方法是不處理的,而是提交到程式的更高一層。
transient:用於標記不允許被序列化處理的成員物件。用來表示一個域不是該物件序列化的一部分。當一個物件被序列化的時候,transient型變數的值不包括在序列化的表示中,然而非transient型的變數是被包括進去的。
try: 標記一段可能產生異常的程式碼片斷。用來定義一個可能丟擲異常語句塊。如果一個異常被丟擲,一個可選的catch語句塊會處理try語句塊中丟擲的異常。同時,一個finally語句塊會被執行,無論一個異常是否被丟擲。
void: 標記一個方法沒有返回值。"void"也可以用來表示一句沒有任何功能的語句。
volatile: 標記一個成員變數進行強迫性同步處理,確保多執行緒中共享資料的一致性。既它用在變數的宣告中表示這個變數是被同時執行的幾個執行緒非同步修改的。
while: 標記whlie型迴圈。用來定義一段反覆執行的迴圈語句。迴圈的退出條件是while語句的一部分。
goto: 只是作為關鍵字保留,未使用。
const: 只是作為關鍵字保留,未使用
附:
1,True和false作為boolean的面值,雖然它們不是關鍵字,但也不能做為標識附使用。
2,java中的關鍵字都為小寫。
3,基本資料型別可以用大寫,區別在於,小寫在定義一個變數時必須要給個初始值,其不支援空值。大寫的則相反,它支援空值。
例如:
float f1=null;程式執行時將報錯。
Float f1=null;程式執行時不出錯。
4,static定義的變數會優先於任何其它非static變數,不論其出現的順序如何