天天看點

java拾遺之關鍵字final

final麼,可以定義與類,方法和變量。當final定義類時,該類不可繼承,一般用于某些重要不可修改的類,當final定義方法時,該方法被子類繼承時不可以重寫,當定義在變量上時,我個人認為方法變量意思似乎不是很大,一般都用在在類的成員變量上。說道成員變量final還可以和static搭配定義靜态常量,該值在項目運作中一直保持不變的。

當和static配合使用時,可以在static塊中初始化該值,這樣的話,就可以在配置檔案或資料庫中寫入該值,在項目啟動時時根據需求初始化不同的值,避免太多的代碼上的依賴,ok,貼上代碼

public class FinalDemo {
	private final int a;
	private static final String CCTV;
	
	static{
		CCTV="HELLO";
	}

	public FinalDemo(int a) {
		super();
		this.a = a;
	}


	public void output(){
		System.out.println(a);
	}


	public int getA() {
		return a;
	}
	
	public static void main(String[] args) {
		FinalDemo finalDemo=new FinalDemo(3);
		finalDemo.output();
		System.out.println(finalDemo.a);
		System.out.println(FinalDemo.CCTV);
		System.out.println(finalDemo.CCTV);
	}
}
           

運作結果:

3

3

HELLO

HELLO