1

いくつかの異なるオブジェクトを含むクラスがあります。

getDeclaredFields を使用してすべてのオブジェクトの名前リストを取得できますが、これらのオブジェクトでメソッドを呼び出したいと考えています。
どうやってやるの?

ClassA a = new ClassA();
Class cls = c.getClass();
Field[] fields = cls.getDeclaredFields();
for(int i = 0; i< fields.length;i++) {
   System.out.println("Field = " + fields[i].toString());
   System.out.prontln(fields[i].method()) // how can I call the method from object fields[i]             
}

詳細: リフレクションを使用する理由は、他のすべてのクラスのオブジェクトが適切に存在するかどうかをテストするために使用できるテスト クラスを記述したいからです。

testclass(class a)、クラス a 内のすべてのオブジェクト名を取得し、object.exists() メソッドを使用してこのオブジェクトの存在を確認します。

ここに私のコードがあります:私はいくつかのダイアログクラスを持っています、各ダイアログクラスはいくつかのメニューアイテムクラス、チェックボックスクラス、テキストフィールドクラスを持っています指定されたダイアログで textfield.exist() ...) 。

ToolsMenu c = new ToolsMenu();
        Class cls = c.getClass();
        Field[] fields = cls.getDeclaredFields();
        for(int i = 0; i< fields.length;i++) {
            System.out.println("Field = " + fields[i].toString());
            println( fields[i].getDeclaringClass().exists()

getdeclaringclass を使用して field[i] クラスを取得できますが、チェックボックス、テキストフィールド クラスで定義されているメソッド exists() を呼び出すにはどうすればよいですか。

4

2 に答える 2