我有一個名爲RawReader的類,它讀取某些資源的字節,解析它們,然後將文件寫入輸出目錄。關於允許許多不同類型構造函數的最佳實踐?
允許將不同類型作爲源和目標傳遞給構造函數是有意義的。
- 來源:字符串(文件或URL),URL,文件或InputStream的
- 目的地:字符串(目錄)或文件
但是如果我重載,給我留下了8種不同的構造版本。如果我想添加第三個可選參數,例如chunkSize
我會有16個構造函數!
另一方面,我可以只有兩個構造函數接受(Object, Object)
和(Object, Object, int)
。如果參數類型不正確,則可以檢測到參數類型並引發IllegalArgumentException。
這種情況在Java中通常如何處理?
這就是爲什麼我經常認爲構造函數是邪惡的 - 它們像兔子一樣繁殖! – ControlAltDel 2012-04-11 20:06:34