创建与另一个实例相同类型的新实例

时间:2011-11-15 02:08:05

标签: java eclipse

我会尽量保持简单的问题:

我有以下实例:

MainClass mc = new ExtendingClass()

我想使用引用mc创建一个全新的实例。 我在线阅读了多个页面,但没有找到合适的答案。

可以假设它会像这样看起来 〜(也许它会帮助你理解)。 MyClass mc2 = new mc.getBaseClass()

基本上结果应该与此相同:

MyClass mc2 = ExtendingClass()但它允许我在运行时创建mc2,因为它可以是各种扩展类的实例。

提前致谢。

1 个答案:

答案 0 :(得分:1)

你可以尝试:

mc.getClass( ).newInstance( );

这当然仅在ExtendingClass具有no-arg或默认构造函数时才有效。如果你想处理构造函数的参数,它会变得更复杂一些(例如,如果你有一个带String的构造函数):

Constructor<ExtendingClass> constructor = mc.getClass( ).getConstructor(String.class);
constructor.newInstance("foo");