反射機制可透過 Constructor.newInstance() 方法呼叫建構方法,傳遞實際參數清單建立物件。此方法需要建構方法類型和順序匹配,且建構方法必須公開或具有適當存取權。
Java 反射機制呼叫建構方法
Java 反射機制提供了對類別的動態訪問,允許在執行時間檢查和修改類別及其成員。透過反射,我們可以呼叫類別建構方法,以建立新物件。
語法:
要使用反射呼叫建構方法,可以使用 Constructor.newInstance()
方法。其語法如下:
Object newInstance(Object... args) throws InstantiationException, IllegalAccessException, InvocationTargetException
其中:
args
:用於建構物件的實際參數清單實戰案例:
我們建立一個名為Person
的類,並提供一個帶有參數的建構方法:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } }
現在,我們可以使用反射調用此建構方法:
// 创建 Class 对象 Class<?> personClass = Class.forName("Person"); // 获取带有两个参数的构造方法 Constructor<?> constructor = personClass.getConstructor(String.class, int.class); // 调用构造方法创建对象 Object person = constructor.newInstance("John", 30);
使用反射呼叫的物件可以像普通物件一樣存取:
System.out.println(((Person) person).getName()); // 输出: John System.out.println(((Person) person).getAge()); // 输出: 30
注意事項:
newInstance()
會將該例外情況包裝在一個 InvocationTargetException
中拋出。 以上是Java反射機制如何呼叫建構方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!