如果传入参数类型小于方法申明参数类型
对于基本数据类型,
public class Test2 {
public static void main(String[] args) {
// 字面量默认作为int处理
PrimitiveTypeOverload.primitive(5);
byte b = 1;
PrimitiveTypeOverload.primitive(b);
// char 在没有确切接收char类型的重载方法的时候,char类型作为int类型处理(65535)
char c = 'c';
PrimitiveTypeOverload.primitive(c);
long l = 5L;
// 传入的参数类型大于声明类型, 需要窄化
PrimitiveTypeOverload.primitive((char) l);
PrimitiveTypeOverload.primitive((short) l);
PrimitiveTypeOverload.primitive((int) l);
//result :
// int
// byte
// int
// int
// short
// int
}
}
class PrimitiveTypeOverload {
public static void primitive(int i) {
System.out.println("int ");
}
public static void primitive(byte b) {
System.out.println("byte");
}
public static void primitive(short s) {
System.out.println("short");
}
}