1. 程式人生 > 其它 >面向物件——靜態,非靜態程式碼塊以及構造方法

面向物件——靜態,非靜態程式碼塊以及構造方法

執行時機:
1、靜態程式碼塊在類載入時自動執行,不載入不執行但最多隻執行一次)

2、非靜態程式碼塊在每次new類時自動執行(可執行多次)

public class Static_Method {
    //靜態程式碼塊完成只需要執行一次的初始化任務
    static {
        System.out.println("靜態方法");
    }
    static {
        System.out.println("靜態方法2");
    }
    //非靜態程式碼塊每次物件建立時需要執行初始化任務
    {
        System.out.println("非靜態方法");
    }
    
public Static_Method(){ System.out.println("這是第一個構造方法"); } //通過公共方法來間接呼叫私有方法 private void a(){ System.out.println("成功呼叫私有方法"); } public void b(){ this.a(); System.out.println("通過公共方法來間接呼叫私有方法"); a(); } }public class Static_Method_Demo {
public
static void main(String[] args) { Static_Method obt = new Static_Method(); Static_Method abc = new Static_Method(); obt.b(); } }


輸出結果:

靜態方法
靜態方法2
非靜態方法
這是第一個構造方法
非靜態方法
這是第一個構造方法
成功呼叫私有方法
通過公共方法來間接呼叫私有方法
成功呼叫私有方法

 

輸出結果順序:

先靜態,後非靜態,再構造方法