一、final修飾變數
final可以修飾成員變數,也可以修飾區域性變數、形參。final變數一旦獲得初始值之後,final的變數就不能被重新賦值。
成員變數是隨類初始化或物件初始化而初始化的,當執行靜態初始化塊時候可以對類屬性進行賦初始值,當執行普通初始化塊或者構造器的時候可以對例項屬性賦初始值。因此成員變數的初始值可以在定義的時候賦值或者在初始化塊、構造器中指定。
對於final修飾的成員變數而言,一旦有了初始值之後,就不能被重新賦值,因此不可以在普通方法中對成員變數賦值。要麼在定義的時候賦值,要麼在方法塊和構造器中賦值。
final成員變數,必須由程式設計師顯示初始化,系統不會對final成員進行隱式初始化。
final修飾區域性變數時既可以在定義時候指定預設值,也可以不指定,在後面指定,但只能一次。
final修飾基本型別的時候 變數不能改變
final修飾引用型別變數,final只保證這個引用的位址不變,即一直引用同一物件。但這個物件可以改變。 二
stastic為靜態變數,在乙個類中的任何地方都可以呼叫,而final表示這個變數不能被修改,會被初始化
靜態的只能訪問靜態的,非靜態成員方法可以直接訪問靜態成員方法,
final修飾變數 方法 類的作用
1 final修飾類 final類不能被繼承,因此final類的成員方法沒有機會被覆蓋,預設都是final的。在設計類時候,如果這個類不需要有子類,類的實現細節不允許改變,並且確信這個類不會載被擴充套件,那麼就設計為final類。2 final修飾方法 如果乙個類不允許其子類覆蓋某個方法 即不允許被...
final關鍵字修飾的變數
final意義 最終的,不可改變的。1 修飾變數,為常量,值不可變 2 修飾物件,值可變,引用不變 3 修飾方法,方法不可重寫 4 修飾類,無子類,不可以被繼承,更不可能被重寫。1.final修飾的基本型別變數必須賦值,但是只能賦值一次 可以在宣告時顯示初始化賦值,或者在構造方法中初始化賦值,或者在...
變數與修飾變數
變數的屬性 儲存位置 變數使用的是那一段記憶體 作用域 變數的使用範圍 生命週期 建立時間 銷毀時間 變數的分類 全域性變數 定義在函式外。儲存位置 bss未初始化 被初始化了儲存在data。作用域 整個程式,比如在a.c定義了全域性變數,在b.c中也可以使用 生命週期 main函式執行前就被定義出...