重载
在一个类中,如果多个方法(比如, StringBuilder 构造器方法)有相同的名字、不同的参数, 便产生了重载。如果方法名相同且参数(个数、类型、顺序)相同,如果返回值也相同,会报“is already defined”, 如果返回值类型不同,会报“both methods have same erasure”
Java 允许重载任何方法, 而不只是构造器方法。 因此, 要完整地描述一个方法, 需要指出方法名以及参数类型。这叫做方法的签名(signature)。例如, String 类有 4 个 称为 indexOf 的公有方法。 它们的签名是
indexOf(int)
indexOf(int, int)
indexOf(String)
indexOf(String, int)
返回类型不是方法签名的一部分。也就是说, 不能有两个名字相同、参数类型也相 同却返回不同类型值的方法。