Java 中例項方法、靜態程式碼塊和建構函式的執行順序是什麼?
靜態程式碼塊是一個帶有 static 關鍵字的程式碼塊。一般來說,這些用於初始化類的靜態成員變數。JVM 在載入類時在 main 方法之前執行靜態程式碼塊。
示例
public class MyClass {
static{
System.out.println("Hello this is a static block");
}
public static void main(String args[]){
System.out.println("This is main method");
}
}輸出
Hello this is a static block This is main method
建構函式類似於方法,它在建立類的物件時被呼叫,通常用於初始化類的例項變數。建構函式的名稱與它們的類相同,並且沒有返回型別。
public class MyClass {
MyClass(){
System.out.println("Hello this is a constructor");
}
public static void main(String args[]){
new MyClass();
}
}輸出
Hello this is a constructor
例項方法
這些是類的普通方法(非靜態),你需要使用類的物件來呼叫它們 −
示例
public class MyClass {
public void demo(){
System.out.println("Hello this is an instance method");
}
public static void main(String args[]){
new MyClass().demo();
}
}輸出
Hello this is an instance method
執行順序
當在一個類中同時有這三者時,首先執行靜態程式碼塊,然後是建構函式,最後是例項方法。
示例
public class ExampleClass {
static{
System.out.println("Hello this is a static block");
}
ExampleClass(){
System.out.println("Hello this a constructor");
}
public static void demo() {
System.out.println("Hello this is an instance method");
}
public static void main(String args[]){
new ExampleClass().demo();
}
}輸出
Hello this is a static block Hello this a constructor Hello this is an instance method
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
安卓
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP