首頁  >  文章  >  Java  >  java反射生成物件實例分析

java反射生成物件實例分析

WBOY
WBOY轉載
2023-05-01 21:25:051039瀏覽

1、兩種產生方式

使用Class物件的newInstance()方法製作此Class對應類別實例(此方法要求該Class對應類別有預設結構器)。

使用Class物件取得指定的Constructor對象,然後呼叫Constructor物件的newInstance()方法來製作該Class物件對應類別的範例(這種方法可以選擇指定的結構器製作範例)。

2、實例

class Person {
 
    private String name;
 
    private Integer age;
 
    public Person() {
        this.name = "system";
        this.age = 99;
    }
 
    public Person(String name, Integer age) {
        this.name = name;
        this.age = age;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public String getName() {
        return name;
    }
 
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}
 
 
public class Test {
 
    public static void main(String[] args) throws Exception {
        Class<Person> pClass = Person.class;
        // 通过第1种方式创建对象
        Person p = pClass.newInstance();
        System.out.println(p);
        // 通过第2种方式创建对象
        Constructor<Person> constructor = pClass.getDeclaredConstructor(
                                                    String.class, Integer.class);
        Person person2 = constructor.newInstance("zhangsan",20);
        System.out.println(person2);
    }
}

可以透過包含鍵值對的設定檔建立物件。讀取設定檔中的鍵值對,程式可以用鍵值對建立一個「字串-物件」的物件池,然後透過字串存取這些物件。

以上是java反射生成物件實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除