在Java中,newInstance()
方法是Object
類的一個靜態方法,用于創建并返回該類的一個新實例。當你使用Class.newInstance()
方法時,它會調用類的靜態塊(如果存在)并返回一個新的實例。
靜態塊在類加載時執行,且只執行一次。它通常用于初始化靜態變量和執行僅需要執行一次的操作。靜態塊按照在代碼中出現的順序執行。
下面是一個簡單的例子,展示了如何使用newInstance()
方法和靜態塊:
public class MyClass {
private static int staticVar;
static {
System.out.println("Executing static block");
staticVar = 42;
}
public static void main(String[] args) throws Exception {
MyClass obj = (MyClass) Class.forName("MyClass").newInstance();
System.out.println("Static variable value: " + obj.staticVar);
}
}
輸出:
Executing static block
Static variable value: 42
在這個例子中,當我們調用Class.forName("MyClass").newInstance()
時,首先會加載MyClass
類,然后執行靜態塊,最后創建一個新的MyClass
實例。