Java 是否可以动态创建类的对象?

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

例如,我创建了10个类,其中包含一些方法。现在,我想创建一个方法,以字符串格式将其中一个类名称作为输入参数,并实例化该类

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;
}

这回答了你的问题吗?这起作用了,乔纳森……谢谢