說我有兩個構造函數接受某種類型的輸入。 (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