说我有两个构造函数接受某种类型的输入。 (T1和T2在本实施例中)重载构造函数根据输入类型调用其他构造函数
我想从更一般的构造拍摄物体(或就此而言T1和T2的任何超类)
class Test{
public Test(T1 input){...}
public Test(T2 input){...}
public Test(Object input){
if(input instanceof T1)
this((T1) input);
if(input instanceof T2)
this((T2) input);
}
第三个构造将调用它们中的由于this
构造函数调用不在第一行,因此给出编译错误。
这在Java中是不可能的。你应该以另一种方式满足你的要求。如果你需要更多的帮助,你应该添加你的具体要求。 –
为什么在创建测试对象之前不投射? – Dandelion
@Vasei如果T1或T2被一些其他方法以Object的形式返回(在我的例子中,一个可以返回一个Map或一个String的反序列化器),那么处理反序列化的类可以传递下去 – lennartVH01