简而言之,“能够重载方法”并不意味着就“应该重载方法”。
一般情况下,对于多个具有相同参数数目的方法来说,应该尽量避免重载方法。
在某些情况下,特别是涉及构造函数的时候,要遵循这调建议是不可能的。在这种情况下,至少应该避免这样的情况:同一组参数只要经过类型转换就可以被传递给不同的重载方法。
如果不能避免这种情况,例如,因为正在改造一个现有的类似实现新的接口,就应该保证:如果当传递同样的参数是,所有重载方法的行为必须一致。
如果不能做到这一点,程序员就很难有效地使用被重载的方法或者构造器,他们就不能理解它为什么不能正常地工作。
摘自Effective Java Second Edition,由机械工业出版社出版。
一般情况下,对于多个具有相同参数数目的方法来说,应该尽量避免重载方法。
在某些情况下,特别是涉及构造函数的时候,要遵循这调建议是不可能的。在这种情况下,至少应该避免这样的情况:同一组参数只要经过类型转换就可以被传递给不同的重载方法。
如果不能避免这种情况,例如,因为正在改造一个现有的类似实现新的接口,就应该保证:如果当传递同样的参数是,所有重载方法的行为必须一致。
如果不能做到这一点,程序员就很难有效地使用被重载的方法或者构造器,他们就不能理解它为什么不能正常地工作。
摘自Effective Java Second Edition,由机械工业出版社出版。