對於final修飾的變數或者類,方法來說:
修飾類的時候,該類不能被繼承,final類中的所有成員方法都會被隱式指定為final方法
修飾方法,第一:把方法鎖定,防止繼承類修改它的含義,第二:效率。
類中private方法會隱式的指定為final方法
修飾變數:如果是基本資料型別的變數,則數值一旦初始化後不能更改,如果是引用型別的變數,初始化之後便不能再讓其指向另乙個物件。
類的final變數和普通變數的區別:
當final作用於類的成員變數時,成員變數必須在定義時或者構造器中進行初始化賦值,而且final初始化後就不能在被賦值。
被final定義的基本資料型別或者string型別時,編譯器會在編譯中認識它,不會等到執行時,普通變數會在執行時通過鏈結訪問。(必須是編譯器確切知道final變數值的情況下)。
被final修飾的引用變數指向的物件內容可以變化。但是不能指向其他物件。指向的物件的內容可以改變。
static作用於成員變數用來表示只儲存乙份副本,而final的作用是用來保證變數不可變
Java final關鍵字 註解
week6 saturday 一 final關鍵字 1 用final修飾的類不能被繼承 2 成員方法加final不能在其他類中重寫此方法 3 被final修飾的資料成員或臨時變數賦值後無法被修改 4 構造方法不能用final修飾 用final修飾的靜態資料成員必須進行初始化 用final修飾的非靜態...
Java final和static關鍵字
繼承的出現提高了 的復用性,並方便開發。但是,有些類在描述完之後,不想被繼承,或者有些類中的部分方法功能是固定的,不想讓子類重寫。可是當子類繼承了這些特殊類之後,就可以對其中的方法進行重寫,這怎麼辦呢?要解決上面的問題,需要用到關鍵字final,final意思是最終,不可變。final是個修飾符,它...
java final關鍵字到底修飾了什麼
final使得被修飾的變數 不變 但是由於物件型變數的本質是 引用 使得 不變 也有了兩種含義 引用本身的不變,和引用指向的物件不變。引用本身的不變 final stringbuffer a new stringbuffer immutable final stringbuffer b new st...