static 和 final 總結

參考:
作者博客:http://www.cnblogs.com/dolphin0520
總結得超好!!!

淺析Java中的final關鍵字

http://www.importnew.com/18586.html

Java中的static關鍵字解析

http://www.cnblogs.com/dolphin0520/p/3799052.html

static 關鍵字

static 修飾的變量或方法時對象的對於它的各個實例的共有財產,
而且不用實例化就可以直接引用。
可以在實例方法可以使用靜態方法,靜態方法或者 static塊 中不能引用實例變量或者方法(因爲靜態方法時共有的,如果特定實例的東西進去了,這個特性就不能保證了,矛盾了;static 塊,則是因爲它只在類加載的時候執行一次,這種特性也可用於在創建對象的過程中優化策略)。

final 關鍵字

final 類不可修改,不可繼承擴展(此時該類的方法默認爲 final 類型)

在使用final修飾類的時候,要注意謹慎選擇,除非這個類真的在以後不會用來繼承或者出於安全的考慮,儘量不要將類設計爲final類

final 方法

因此,如果只有在想明確禁止 該方法在子類中被覆蓋的情況下才將方法設置爲final的。

注:類的private方法會隱式地被指定爲final方法。

 final 變量

對於一個final變量,如果是基本數據類型的變量,則其數值一旦在初始化之後便不能更改;如果是引用類型的變量,則在對其初始化之後便不能再讓其指向另一個對象。

final 變量的編譯時特性

當final變量是基本數據類型以及String類型時,如果在編譯期間能知道它的確切值,則編譯器會把它當做編譯期常量使用。

發佈了81 篇原創文章 · 獲贊 13 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章