面向物件——靜態,非靜態程式碼塊以及構造方法
阿新 • • 發佈:2022-05-25
執行時機:
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 {
publicstatic void main(String[] args) { Static_Method obt = new Static_Method(); Static_Method abc = new Static_Method(); obt.b(); } }
輸出結果:
靜態方法
靜態方法2
非靜態方法
這是第一個構造方法
非靜態方法
這是第一個構造方法
成功呼叫私有方法
通過公共方法來間接呼叫私有方法
成功呼叫私有方法
輸出結果順序:
先靜態,後非靜態,再構造方法