我有一个名为RawReader的类,它读取某些资源的字节,解析它们,然后将文件写入输出目录。关于允许许多不同类型构造函数的最佳实践?
允许将不同类型作为源和目标传递给构造函数是有意义的。
- 来源:字符串(文件或URL),URL,文件或InputStream的
- 目的地:字符串(目录)或文件
但是如果我重载,给我留下了8种不同的构造版本。如果我想添加第三个可选参数,例如chunkSize
我会有16个构造函数!
另一方面,我可以只有两个构造函数接受(Object, Object)
和(Object, Object, int)
。如果参数类型不正确,则可以检测到参数类型并引发IllegalArgumentException。
这种情况在Java中通常如何处理?
这就是为什么我经常认为构造函数是邪恶的 - 它们像兔子一样繁殖! – ControlAltDel 2012-04-11 20:06:34