static:用來修飾字段和方法。
通常情況下,我們通過創建類的對象來訪問其字段和方法,而將字段或方法聲明為static意味著這個字段或方法作為整個類而不是類的某個特定對象而存在,可以通過類名直接引用它們。
一個static字段對每個類來說都只有一份存儲空間,而非static字段則是對每個對象有一份存儲空間。
static方法的一個重要用法就是不用創建對象而通過類直接引用它。
final:用來修飾字段、方法和類。
final修飾字段。對于基本類型,final使數值恒定不變,而對于對象引用,final使引用恒定不變,一旦引用被初始化指向一個對象,就無法把它改為指向另一個對象,然而,對象其本身是可以被修改的。
一個既是static又是final的字段只占據一段不能改變的存儲空間。
帶有恒定初始值(即,編譯時常量)的static final基本類型全用大寫字母命名,并且字與字之間用下劃線隔開。
空白final是指聲明為final但又未給定初值的字段,這個字段在運行時初始化,并在以后保持恒定不變。
final參數意味著你無法在方法中更改參數引用所指向的對象,你可以引用參數,但無法改變它。
???
final修飾方法。使用final方法的原因有兩個,第一個原因是把方法鎖定,以防任何繼承類來修改它的含義。這個出于設計的考慮:想要保證在繼承中使方法行為保持不變,并且不會被覆蓋。
使用final方法的第二個原因是效率。如果將一個方法指定為final,就是同意編譯器將針對改方法的所有調用都轉為內嵌調用,而編譯器會根據開銷情況明智的抉擇是否對final方法執行內嵌調用。
類中的所有private方法都隱式的指定為final的。
final修飾類。將某個類定義為final表明該類不能被繼承。
final類的字段可以根據個人的意愿選擇是或不是final,不論類是否定義為final,相同的規則都適用與final字段。
而final類的所有方法都隱式的指定為final的。
posted on 2006-12-04 01:22
jinn 閱讀(690)
評論(0) 編輯 收藏 所屬分類:
Java/j2se