Java 是否可以动态创建类的对象?
例如,我创建了10个类,其中包含一些方法。现在,我想创建一个方法,以字符串格式将其中一个类名称作为输入参数,并实例化该类Java 是否可以动态创建类的对象?,java,object,dynamic,instantiation,Java,Object,Dynamic,Instantiation,例如,我创建了10个类,其中包含一些方法。现在,我想创建一个方法,以字符串格式将其中一个类名称作为输入参数,并实例化该类 public void instantiateclass(String Classname) { // this method should instantiate the given classname } 这在java反射中可能吗?或者java中的任何其他概念?这可以通过下面的代码在c中轻松完成 private static object CreateInstan
public void instantiateclass(String Classname)
{
// this method should instantiate the given classname
}
这在java反射中可能吗?或者java中的任何其他概念?这可以通过下面的代码在c中轻松完成
private static object CreateInstanceByClassName(string className)
{
var assembly = Assembly.GetExecutingAssembly();
var type = assembly.GetTypes()
.First(t => t.Name == className);
return Activator.CreateInstance(type);
}
上面的代码假设类存在于同一个程序集中是的,您可以这样做。您可以更改方法以返回
对象
public Object instantiateClass(Class clazz)
{
Object instance = null;
try {
instance = clazz.getDeclaredConstructor().newInstance();
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
| NoSuchMethodException | SecurityException e) {
e.printStackTrace();
}
return instance;
}
这回答了你的问题吗?这起作用了,乔纳森……谢谢