Java學習個人備忘錄之關鍵字final
阿新 • • 發佈:2017-09-02
span 16px 覆蓋 變化 單詞 為什麽 不支持 end 不讓
因為加了final就意味著他會被共享。
為什麽要用final修飾變量。 其實在程序中如果一個數據是固定的,
那麽直接使用這個數據就可以了,但是這樣閱讀性差,所以它給數據起個名字。
而且這個變量名稱的值不能變化,所以加上final固定。
寫法規範:常量所有字母都大寫,多個單詞,中間用 _ 連接。
final關鍵字
final可以修飾類,方法,變量。
final修飾的類不可以被繼承
final修飾的方法不可以被覆蓋
final修飾的變量是一個常量。只能被賦值一次。
內部類只能訪問被final修飾的局部變量。
class Fu { void method() { //調用了底層系統的資源 } } class Zi extends Fu { void method() { System.out.println("haha"); } }
從上面可以看出繼承是有弊端的,就是打破了封裝性。
這時我們就可以用final關鍵字,不讓別人繼承,如下:
final class Fu { void method() { //調用了底層系統的資源 } } class Zi extends Fu { void method() { System.out.println("haha"); } } //這樣在編譯的時候就會報錯。
final的初始化
final的初始化並不是固定初始化,而是顯式初始化。
int x; 這樣寫後,x會被初始化為0。
但是如果是
final int x; 這樣編譯就會報錯。 因為它不支持固定初始化
通常情況下 有final就會有static修飾符
static final int x = 8;
為什麽要用final修飾變量。 其實在程序中如果一個數據是固定的,
那麽直接使用這個數據就可以了,但是這樣閱讀性差,所以它給數據起個名字。
而且這個變量名稱的值不能變化,所以加上final固定。
寫法規範:常量所有字母都大寫,多個單詞,中間用 _ 連接。
Java學習個人備忘錄之關鍵字final