建構函式,靜態塊,匿名構造塊

2021-10-07 23:08:30 字數 994 閱讀 7583

1,靜態塊

隨著jvm載入類的時候載入而執行

不管new多少次,只執行一次

如果乙個類中有多個static修飾的靜態**塊,按照先後順序執行。

例: public class b

public b()

static

public static b t3 = new b();

public static void main(string args)

//執行結果

構造**塊

建構函式

構造**塊

建構函式

靜態**塊

構造**塊

建構函式

構造**塊

建構函式

2,匿名構造塊

執行在構造方法之前

構造**塊與建構函式的區別是:構造**塊是給所有物件進行統一初始化

而建構函式是給對應的物件初始化,因為建構函式是可以多個的,執行哪個建構函式就會建立什麼樣的物件,

但無論建立哪個物件,都會先執行相同的構造**塊。

也就是說,構造**塊中定義的是不同物件共性的初始化內容。

3,建構函式

建構函式的特點:

函式名與類名相同

不用定義返回值型別

不可以寫return語句

建構函式的初始化:

建立物件時才會呼叫。

建構函式的作用:給物件進行初始化。

建構函式物件一建立就會呼叫與之對應的建構函式,可用於給物件進行初始化。

當乙個 類中沒有定義建構函式時,系統會預設給該類加入乙個空引數的建構函式,

當自己定義了建構函式後,預設的空建構函式就不存在了。

注意:預設建構函式的特點;多個建構函式是以過載的形式存在的。

執行順序

靜態塊---->匿名構造塊-------->建構函式

構造塊 靜態塊

構造塊 靜態塊 static靜態塊在類載入的時候執行,且只執行一遍。靜態變數也在類載入的時候初始化 public class test public static void main string args 輸出 12 構造塊在類初始化的時候執行 public class test public s...

靜態塊》main 構造塊》構造方法

用static申明,jvm載入類時執行,僅執行一次 構造塊 類中直接用 定義,每一次建立物件時執行 執行順序優先順序 靜態塊 main 構造塊 構造方法 靜態塊按照申明順序執行,所以先執行publicstaticb t1 newb 該語句建立物件,則又會呼叫構造塊,輸出構造塊 接著執行public ...

Java 靜態語句塊 語句塊 建構函式

以下是一道筆試題 package com.example public class parent static package com.example public class child extends parent static public static void main string ar...