static和final的區別

2021-07-30 19:32:40 字數 538 閱讀 4432

修飾變數:靜態變數隨著類載入時被完成初始化,記憶體只有乙個,且jvm也只會為他分配一次記憶體,所有類共享靜態變數。

修飾方法:在類載入的時候就存在,不依賴任何例項。static方法必須實現,不能用abstract修飾。即abstract修飾的方法不可謂static。

修飾**塊:在類載入完成之後就會執行靜態**塊中的內容。

類初始化順序:父類靜態**塊-->子類靜態**塊-->父類非靜態**塊-->父類構造方法-->子類非靜態**塊-->子類構造方法

修飾變數:1.編譯期常量:類載入的過程中完成初始化,編譯後帶入到任何計算式中。只能是基本型別

2.執行時常量:基本資料型別或引用。引用不可變,但是引用的物件內容可變。

修飾方法:不能被繼承,不能被子類修改。

修飾類:不能被繼承。

修飾形參:final形參不可變。

Final和static的區別

首先 final 和static 是完全沒有關係的。final 作用 1.final 修飾屬性,表示屬性 只能賦值一次 1 基本型別 值不能被修改 2 引用型別 引用不可以被修改該。如 public final int rows 1 此時變數rows不管在什麼地方引用,都不能被再次賦值。但是,可以先...

final和static的區別

final可以修飾類 成員方法和變數 成員變數和區域性變數 1.final修飾的類不可以被繼承 2.final修飾的方法不可以被重寫 3.final修飾的變數表示常量,只能被賦值一次 注意 final修飾成員變數時,預設沒有初始值。賦值方法 選擇其中一種 a.宣告時賦值 b.構造方法中賦值 c.塊中...

final和static的區別

一.static的作用 靜態方法只能訪問靜態變數,靜態變數一般使用類名訪問,靜態語句塊先於程式執行 static的的作用從三個方面來談,分別是靜態變數 靜態方法 靜態類。1.靜態變數 宣告為static的靜態變數實質上就是全域性變數,當宣告乙個物件時,並不產生static變數的拷貝,而是該類所有例項...