创建另一个对象的类对象

时间:2015-08-17 14:36:37

标签: java object

是否可以使用不同对象类的构造函数?想象一下两个类:A和B扩展A.我们创建对象

A x = new B(arg);

然后(伪代码!)

A y = new (x.getClass())(arg);

我是否可以在没有通过所有可能的A继承人的情况下获得此效果?

2 个答案:

答案 0 :(得分:2)

反思可能就是你想要的,但仍然不鼓励:

A y = x.getClass().getConstructor(ArgType.class).newInstance(args);

将创建B

的新实例 @pogler的 学分用于指出错误。

答案 1 :(得分:0)

如果一个对象继承了另一个对象,则可以对该对象进行类型转换。请查看此链接以获取更多信息:Casting objects in Java