首頁  >  問答  >  主體

java - 靜態屬性中的賦值和靜態程式碼區塊中的賦值有什麼不同?

private static String name = "demo";
private static String name;

static {
    name = "demo";
}

如以上程式碼所示,兩種寫法有什麼差別,或各有什麼優缺點。

高洛峰高洛峰2711 天前599

全部回覆(4)我來回復

  • 世界只因有你

    世界只因有你2017-05-18 10:46:30


    就中間程式碼來看沒有差別

    回覆
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-18 10:46:30

    結果上沒有差別,只是程式碼區塊裡你可以寫其他程式碼,像是往map裡塞資料啥的。

    回覆
    0
  • 某草草

    某草草2017-05-18 10:46:30

    在靜態程式碼區塊中,可以對更多變數進行賦值等操作,一般是用來做初始化,例如遊戲載入時,用來載入靜態資源圖片用的。

    回覆
    0
  • PHPz

    PHPz2017-05-18 10:46:30

    有個小差別:在同一個類別中,靜態屬性的初始化在靜態初始化區塊之前完成

    回覆
    0
  • 取消回覆