final修飾符 不可變

2022-09-05 09:54:08 字數 636 閱讀 5077

不可以有子類  

變數一旦獲得初始值就不可改變,不能被重新賦值        

成員變數:初始值必須有程式設計師顯式設定,系統不會對其隱式初始化            

類變數:靜態初始化塊 | 宣告該類變數時

例項變數:非靜態初始化塊 | 宣告該例項變數時 | 構造器中

區域性變數:初始值必須有程式設計師顯式設定,系統不會對其隱式初始化

定義變數時指定 | 後面**中指定

形參變數由傳入引數值來完成初始化,故不能被賦值

基本型別變數:只能賦值一次。

引用型別變數:引用的位址不會改變,即只會引用乙個物件,但物件內容完全可以改變

巨集變數:用final修飾,定義變數時指定初始值,程式編譯時就能確定final修飾的變數的值。

該變數本質上就是乙個「巨集變數」,編譯器會把程式中用到該變數的地方替換成該變數的值  

方法不能被重寫

使用final修飾乙個private訪問許可權的方法,可在子類中定義與該方法相同方法名、形參列表、返回值型別的方法。

final修飾符和abstract修飾符

用final修飾的類無法被繼承 用final修飾的方法可以被繼承但是不能被重寫 用final修飾的變數表示常量,只能賦值一次 abstract修飾符可以修飾方法也可以修飾類,如果修飾方法,那麼這個方法就是抽象方法,如果修飾類,那麼就是抽象類。抽象類中可以沒有抽象方法,但是如果有乙個類中有抽象方法,那...

final修飾符解析

1.final變數 final變數定義 final變數一經初始化就不能再指向其它物件。在c 中它是乙個const指標,而不是指向const變數的指標,const指標的意思是說它只能一直指向初始化時的那個位址,但那個位址中物件本身是可以修改的。而指向const變數的指標是說物件本身是不能修改的。str...

final 修飾符使用

將以下 copy到eclipse中,可看出效果 用final修飾的方法無法重寫 public class main class maintmp extends main 呼叫 public void getsay 過載 public string say int i,string s 用final修...