java關鍵字與其相關含義
阿新 • • 發佈:2018-12-25
訪問控制
public (公共的:對所有使用者都開放), protected(受保護的):對繼承類介面之類的開放private(私有的):對當前類開放
類、方法和變數修飾符
abstract:聲名抽象 抽象的作用就是將可重複使用的類或方法不明確的類提取出來方便後面重複使用,抽象類的目的就是為了在子類中重寫方法。 被abstract修飾的類叫抽象類,方法叫抽象方法,抽象方法不能有主體即{},抽象類中只能有屬性和抽象方法 抽象類不能被例項化,因為抽象類中的方法未具體化,所以抽象類本身就是一種不完整的類 抽象方法用extend來繼承,繼承只能單繼承 classisBornBoomer是用來這個人是否是1946-1964年出生的,而每次isBornBoomer被呼叫的時候,都會生成startDate和birthDate兩個物件,造成了空間浪費,如果改成這樣效率會更好: 因此,很多時候會將一些只需要進行一次的初始化操作都放在static程式碼塊中進行。 static的誤區 1.java中的static和c語言中的static不同不會改變方法或屬性的作用域 2.static所修飾的方法或屬性不能被this所呼叫 3.但是在Java中切記: static是不允許用來修飾區域性變數。不要問為什麼,這是Java語法的規定。 有關static的面試題 strictfp:嚴格,精準(的意思是FP-strict,也就是說精確浮點的意思)被此方法註明的將嚴格計算 你可以將一個類、介面以及方法宣告為strictfp,但是不允許對介面中的方法以及建構函式宣告strictfp關鍵字,例如下面的程式碼: 1. 合法的使用關鍵字strictfp strictfp interface A {} public strictfp class FpDemo1 { strictfp void f() {} } 2. 錯誤的使用方法 interface A { strictfp void f(); } public class FpDemo2 { strictfp FpDemo2() {} } 一旦使用了關鍵字strictfp來宣告某個類、介面或者方法時,那麼在這個關鍵字所宣告的範圍內所有浮點運算都是精確的,符合IEEE-754規範的。例如一個類被宣告為strictfp,那麼該類中所有的方法都是strictfp的。 主要的作用的是確保當程式移植到其他 不同的Java實現或硬體平臺, 而一旦使用了strictfp來宣告一個類、介面或者方法時,那麼所宣告的範圍內Java的編譯器以及執行環境會完全依照浮點規範IEEE-754來執行。 結論 1.strictfp 翻譯為“精確的浮點”不夠貼切,容易引起誤解。 2.strictfp關鍵字的使用 與 IEEE754 沒有直接因果關係。 IEEE 754 ,是 IEEE 制定的,而不是 J2EE 標準 :) 3.使用 strictfp 關鍵字的目的,是保證平臺移植之後,浮點運算結果是一致的。 synchronized:執行緒,同步 transient:短暫
- 序列化:就是當資料以流的形式進行傳輸的時候生產的位元組碼
- 反序列化:就是將產生的位元組碼反向讀取