Java初始化塊

2021-08-07 11:07:38 字數 895 閱讀 4097

非靜態初始化塊會在每個物件生成時被執行一次,可以初始化類的例項變數。

非靜態初始化塊會在建構函式執行時,在建構函式主體**執行之前被執行。

靜態初始化塊會在物件裝載到系統的時候執行一次,它僅能初始化類變數,即static修飾的資料成員。

class helloa 

public

helloa(int a)

static

}public

class

hellob

extends

helloa

public

hellob(int a)

static

public

static

void

main(string args)

}/* new hellob()初始化順序:

* 父類靜態初始化塊->子類靜態初始化塊->父類非靜態初始化塊->父類無參構造方法->子類非靜態初始化塊->子類無參構造方法

* output:

static a

static b

i'm a class

helloa

i'm b class

hellob

*new hellob(1)初始化順序:

父類靜態初始化塊->子類靜態初始化塊->父類非靜態初始化塊->父類無參構造方法->子類非靜態初始化塊->子類有參構造方法

output:

static a

static b

i'm a class

helloa

i'm b class

hellob(int a)=》a:1

~*/

java基礎 初始化塊

加了static就是靜態初始化塊。靜態初始化塊只能呼叫靜態資源。沒有加static修飾符的就是普通初始化 塊。new乙個實力物件時,先執行初始化塊,在執行建構函式。靜態只在載入類的時候執行一次,普通 塊在new物件時每次都會呼叫。補充知識點 1.new乙個物件時會先載入類資訊,類資訊載入後在建立例項...

初始化塊和靜態初始化塊

初始化塊的使用 變數,靜態變數,方法,靜態方法 由圖可知變數沒問題 上面的方法不可行能否初始化靜態方法 嘗試使用初始化塊初始化構造方法 最後比較一下構造方法初始化,初始化塊初始化,靜態初始化塊初始化當中誰最先被初始化 package staticinitializelump public class...

java中靜態初始化塊,例項初始化塊,建構函式區別

public class people public people string name param args public static void main string args 執行效果 new兩個例項,從執行結果可以看出,靜態變數和靜態初始化塊都是在類載入到系統時,載入到系統中,靜態初始化...