获取对象的类并实例化新实例



我希望这样做:

SubClass c = var.getClass();
SuperClass varCopy = new SubClass();

换句话说,我知道varCopy的超类在编译时将是什么,但我不确定将实例化哪个子类。在Java中有办法做到这一点吗?

谢谢!

你可以这样做。

Class<? extends SuperClass> clazz = var.getClass();
SuperClass varCopy = clazz.newInstance();

注意,如果clazz.newInstance()没有默认的空构造函数,它将抛出一个IllegalAccessException。

相关内容

  • 没有找到相关文章