Java 反射式创建对象&;设置字段

Java 反射式创建对象&;设置字段,java,generics,Java,Generics,在这个场景中,我需要使用泛型的帮助: class A{ } class B{ } class AB{ A aInstance; B bInstance; //getter & setter for the above. setA(); setB(); } 现在,在其他部分/模块中,我想做以下工作: 1) 我只有类名,即“A”、“B”和“AB” 2) 我想创建一个类A、B和AB的实例(使用类名)——这是使用Class.forName完成的——这

在这个场景中,我需要使用泛型的帮助:

class A{
}

class B{
}

class AB{
    A aInstance;
    B bInstance;
    //getter & setter for the above.
    setA();
    setB();
}
现在,在其他部分/模块中,我想做以下工作:

1) 我只有类名,即“A”、“B”和“AB”

2) 我想创建一个类A、B和AB的实例(使用类名)——这是使用Class.forName完成的——这很好

大概是这样的:

Object objA= Class.forName("A").newInstance();

Object objB= Class.forName("B").newInstance();
现在我想创建AB类的实例,并使用AB中的setter设置objA和objB

如何通过反思来做到这一点

3) 然后我想创建一个ArrayList——AB类型的列表——但请注意,我只有类名“AB”,而不是类型本身。如何做到这一点


请帮忙。

第2点之前的一切都很好。但是在第3点中,如果类名
“AB”
为字符串,则不能创建
列表。这根本不可能。始终使用完全限定的类名,例如
class.forName(“com.x.y.z.A”)
@point 2)如何反射式创建AB实例并设置objA和objB!请给我样品!提前谢谢!为什么不呢?我们不能把AB类的对象保存在arrayList中吗?如果是,那么它必须是这样的List@TeamIncredible您可以将
AB
的对象存储在
ArrayList
中。但这是一个原始列表。在编译时不知道类型名的情况下,无法创建
ArrayList