ホームページ  >  記事  >  Java  >  Javaリフレクションによって生成されたオブジェクトインスタンスの分析

Javaリフレクションによって生成されたオブジェクトインスタンスの分析

WBOY
WBOY転載
2023-05-01 21:25:05999ブラウズ

1. 2 つの生成メソッド

Class オブジェクトの newInstance() メソッドを使用して、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。