Java_關鍵字

來源:互聯網
上載者:User

Java關鍵字如下:

abstract default if private this
boolean do implements protected throw
break double import public throws
byte else instanceof return transient
case extends int short try
catch final interface static void
char finally long strictfp volatile
class float native super while
const for new switch  
continue goto package synchronized  

以上是java specifications中定義的keywords,一共48個,其中常見的三個看似是關鍵字的true, false, null,都不是關鍵字,而是作為一個單獨標識類型。

其中,不常用到的關鍵字有:const,goto,native,strictfp,transient,volatile。

const和goto為java中的保留字。

native

簡單地講,一個Native Method就是一個java調用非java代碼的介面。一個Native Method是這樣一個java的方法:該方法的實現由非java語言實現,比如C。這個特徵並非java所特有,很多其它的程式設計語言都有這一機制,比如在C++中,你可以用extern "C"告知C++編譯器去調用一個C的函數。 

標識符native可以與所有其它的java標識符連用,但是abstract除外。這是合理的,因為native暗示這些方法是有實現體的,只不過這些實現體是非java的,但是abstract卻顯然的指明這些方法無實現體。

strictfp

strictfp, 即 strict float point (精確浮點)。
strictfp 關鍵字可應用於類、介面或方法。使用 strictfp 關鍵字聲明一個方法時,該方法中所有的float和double運算式都嚴格遵守FP-strict的限制,符合IEEE-754規範。當對一個類或介面使用 strictfp 關鍵字時,該類中的所有代碼,包括巢狀型別中的初始設定值和代碼,都將嚴格地進行計算。嚴格約束意味著所有運算式的結果都必須是 IEEE 754 演算法對運算元預期的結果,以單精確度和雙精確度格式表示。
如果你想讓你的浮點運算更加精確,而且不會因為不同的硬體平台所執行的結果不一致的話,可以用關鍵字strictfp。

transient

變數修飾符,如果用transient聲明一個執行個體變數,當Object Storage Service時,它的值不需要維持。
Java的serialization提供了一種持久化對象執行個體的機制。當持久化對象時,可能有一個特殊的對象資料成員,我們不想用serialization機制來儲存它。為了在一個特定對象的一個域上關閉serialization,可以在這個域前加上關鍵字transient。當一個對象被序列化的時候,transient型變數的值不包括在序列化的表示中,然而非transient型的變數是被包括進去的。

volatile

就象大家更熟悉的const一樣,volatile是一個類型修飾符(type specifier)。它是被設計用來修飾被不同線程訪問和修改的變數。如果沒有volatile,基本上會導致這樣的結果:要麼無法編寫多線程程式,要麼編譯器失去大量最佳化的機會。

final

final可以修飾非抽象變數非抽象方法,非抽象類別

final修飾的類:

  • final類不能被繼承
  • final類中的變數和方法預設是final的

final修飾的變數:

  • final變數即常量,不可被賦值
  • final變數(如果不是private的)可以被繼承

final修飾的方法:

  • final方法(如果不是private的)可以被繼承
  • final方法不可以被複寫

(private方法預設是final的,因為private方法不可以被繼承,不可以被複寫。但是你可以對private方法增加final修飾符,但是這並沒有意義)

static

static是在記憶體中分配一塊地區,供整個類使用。也就是說,不管這個類有多少個執行個體,這些執行個體的static類型的變數都是共用的。

static定義的變數和方法也可以直接通過類來調用,不需要通過類的一個執行個體來調用。

static可以修飾變數方法代碼塊。(static修飾類比較特殊,static不可以修飾外部類,只可以修飾內部類)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.