筆記:
/** 關鍵字final(最終的) 標記的類不能被繼承, 提高安全性,提高程序的可讀性 * 1.final 修飾類,這個類就不能被繼承; 如:String類、StringBuffer類、System類等 * 2.final 修飾方法:不能被重寫; 如:Object類的getClass() * 3.final 修飾屬性,變為常量 屬性(沒有默認初始化的值);習慣上,常量用大寫字符來寫! * final常量一旦確定后,就禁止再次復制! * 4.變量用 static final +類型 來修飾,即為全局變量! * 5.final修飾參數類型,eg:(final Other o){ //強制保護對象o不被new...,但其內部數據仍能修改 */
源程序:
package Coding; public class Main_of_Coding { public static void main(String[] args) { C c=new C(); //輸出全局變量 Other o1=new Other(); o1.addOne(o1); } } class C{ static final int II =77777 ; public C() { //I=666; 非法!常量一旦確定后,就禁止再次復制! System.out.println("6666 "+II); } } class Other{ public int i=0; public void addOne(final Other o){ //強制保護對象o,但其內部數據仍能修改 o.i++; System.out.println(o.i); } }
測試結果:
6666 77777 1