1. 程式人生 > 實用技巧 >Java——類的成員之4:程式碼塊(初始化塊)

Java——類的成員之4:程式碼塊(初始化塊)

  • 用來初始化類、物件
  • 程式碼塊如果有修飾的話,只能用static.
  • 分類:靜態程式碼塊和非靜態程式碼塊
    • 靜態程式碼塊:
      • 內部可以有輸出語句;
      • 隨著類的載入而執行(只執行一次),只要類沒有重新載入就不會重新執行
      • 靜態程式碼塊內只能呼叫靜態的屬性,靜態的方法,不能呼叫非靜態的結構
    • 非靜態程式碼塊:
      • 內部可以有輸出語句;
      • 隨著物件的建立(new 物件)而執行(每new一個就執行一次)
      • 非靜態程式碼可以呼叫靜態的屬性、方法,或者非靜態的屬性、方法,
  • 可以有多個程式碼塊,執行順序是按照宣告的先後順序執行
  • 靜態程式碼塊的執行是優先於非靜態程式碼塊的執行
package com.block.java;

public class BlockTest { public static void main(String[] args) { String desc=Person.desc; Person p1=new Person(); Person p2=new Person(); } } class Person{ // 屬性 String name; int age; static String desc="我是一個人"; // 構造器 public
Person() { } public Person(String name,int age) { this.name=name; this.age=age; } // 方法 public void eat() { System.out.println("吃飯"); } public static void info() { System.out.println("我是一個快樂的人"); } // 程式碼塊 { //非靜態程式碼塊
System.out.println("block!"); } static { // 靜態程式碼塊 System.out.println("static block!"); } }