主题:[原创]SCJP考试试题解析十
SCJP考试试题解析十
我的QQ号:2535279
www.javaedu.com.cn
public class Certkiller{
public static void go(short n){ System.out.println("short");}
public static void go(short n){ System.out.println("SHORT");}
public static void go(long n){ System.out.println("long");}
public static void main(String[] args){
short y=6;
int z=7;
go(y);
go(z);
}
}
what is the result?
A. short
long
B. SHORT
long
C. Compilation fails
D. An exception is thrown at runtime
这个题目的重点是考察你对于重载的掌握程度.
重载是说可以根据所传递参数数据类型的不同,会调用对应版本的方法来进行对应的动作,而这个程序中,第一个go()方法和第二个go()方法,名字与参数数据类型完全相同,当我们在main()方法中,使用go(y)根本就不知道要去调用哪个方法.所以,这里会抛出一个编译错误,不能通过编译.
另外补充一句:返回值类型不可用作为方法重载的区别根据.