提示五十二:慎用重载。
- 重载调用哪个方法是在编译时做出的决定,重写方法是在运行时决定调用哪个方法,所以编译时的类型不会影响最终调用哪个方法。
- 使用重载机制比较安全而保守的策略是:永远不要导出两个具有相同参数数目的重载方法。如果方法使用可变参数,保守的策略是不要重载它。
- 对于构造器,可以选择导出静态工厂。
- 对于每一种重载方法,至少有一个对应的参数在两个重载方法中具有根本不同的类型,就不会产生迷惑。
- 自动装箱可能导致调用错重载方法。
- 应该让更具体化的重载方法把调用转发给更一般化的重载方法。
我平时有时会使用重载,不过一般都是把更具体的重载方法转发给更一般的重载方法。但有时也会因为想不到什么更好的名字而使用重载,不过这种时候一般只有一两个参数而且类型都不一样。不过这次学到了可以参考write和writeInt,把类型放进方法名也可以避免这样的重载。平时在使用各种API的时候也发现,尽量不要出现参数数量相同的重载方法,避免使用者出错。