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

WBOY
リリース: 2023-05-01 21:25:05
転載
1042 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート