今天重读think in java 看到参数重载时类型的自动提升,记录一下
当传入常数时,会被当作int处理,例如:
结果会是 arg is int!
那如果没有int形式的参数呢?重载类型会自动提高,例如:
结果会是 arg is long!
其他情况类似,会一直提升类型直到能匹配到为止,例如从byte提高到了double:
结果会是 arg is double!
char比较特殊,如果匹配不到会提升至int,如果还匹配不到则继续提升。
那如果传入参数的类型大于形参呢?
答案是编译器会告诉你此路不通 :)