涉及基本数据类型的方法重载

如果传入参数类型小于方法申明参数类型

对于基本数据类型,

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");
	}
}

你可能感兴趣的:(java)