这是我写的一个测试几种数据类型的重载问题的一个测试程序,如有错误,欢迎各位指出!
收集了:short int float long Short Integer Float Long一共8种数据类型做重载时的先后顺序,
在进行测试的时候,比如这里测试的int,可以先运行,当然输出就是int,然后下一步我们在static void a(int i)前面加上/*注释,注释注释掉这个函数,再运行一次,看接下来会运行哪个函数!可以看到接下来会运行的是static void a(long i)。如此类推,可以一直推出所有类型重载时候的先后顺序!
public class test{
static void a(short i){
System.out.println("short");
}//*/
static void a(int i){
System.out.println("int");
}//*/
static void a(long i){
System.out.println("long");
}//*/
static void a(float i){
System.out.println("float");
}//*/
static void a(double i){
System.out.println("double");
}//*/
static void a(Short i){
System.out.println("Short");
}//*/
static void a(Integer i){
System.out.println("Integer");
}//*/
static void a(Float i){
System.out.println("Float");
}//*/
static void a(Double i){
System.out.println("Double");
}//*/
static void a(Long i){
System.out.println("Long");
}//*/
public static void main(String[] args){
int i = 1;
a(i);
}
}
这里写出所有的顺序:
short: short int long float double Short 到此为止,以后的都不能再重载
int: int long float double Integer 到此为止,以后的都不能再重载
long : long float double Long 到此为止,以后的都不能再重载
float: float double Float 到此为止,以后的都不能再重载
double : double Double 到此为止,以后的都不能再重载
Short: Short short int long float double 到此为止,以后的都不能再重载//这里提醒一下,不能用Short i = new Short(1);这样会提示1不是short,因为1默认是int,所以必须改为:Short i = new Short((short)1);但是Long i = new Long(1);等其他都却可以
Integer: Integer int long float double 到此为止,以后的都不能再重载
Long: Long long float double到此为止,以后的都不能再重载
Float: Float float double 到此为止,以后的都不能再重载
Double : Double double 到此为止,以后的都不能再重载
相信只要不是瞎子或者笨蛋都应该能够发觉到这里面的一些端倪!