final與static的區別於用法

2021-07-30 20:50:54 字數 395 閱讀 1283

final

修飾類,那麼這個類不能被繼承;

修飾方法,那麼這個方法不能被override;

修飾屬性,那麼這個屬性值不能被修改;

static

表示為靜態成員(方法、屬性);

靜態成員與非靜態成員的區別:

靜態成員在物件建立之前就存在,呼叫方式 類.方法、類.屬性;

非晶態成員,必須在建立物件之後才能使用,呼叫方式 物件.方法、物件.屬性

final與static final的區別是:  

final在乙個物件中唯一,static final在多個物件中都唯一,如果作為常量用的話,只是final的話就得在別的類引用的時候要建立物件,會占用不必要的空間,而加上static的話在編譯的時候占用乙個空間,其他時候就不會再占用空間了。

static與final的區別

一 1 static變數 對於靜態變數在記憶體中只有乙個拷貝 節省記憶體 jvm只為靜態分配一次記憶體,在載入類的過程中完成靜態變數的記憶體分配,可用類名直接訪問 方便 當然也可以通過物件來訪問 但是這是不推薦的 對於例項變數,沒建立乙個例項,就會為例項變數分配一次記憶體,例項變數可以在記憶體中有多...

Final和static的區別

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

static和final的區別

修飾變數 靜態變數隨著類載入時被完成初始化,記憶體只有乙個,且jvm也只會為他分配一次記憶體,所有類共享靜態變數。修飾方法 在類載入的時候就存在,不依賴任何例項。static方法必須實現,不能用abstract修飾。即abstract修飾的方法不可謂static。修飾 塊 在類載入完成之後就會執行靜...