今天看到了一条这样的题目:
写出以下程序的输出:
public class Overload {
public static void say(long arg) {
System.out.println("hello long");
}
public static void say(Character arg) {
System.out.println("hello character");
}
public static void say(char... arg) {
System.out.println("hello char...");
}
// Serializable 参数
public static void say(Serializable arg) {
System.out.println("hello serializable");
}
public static void main(String[] args) {
say('a');
}
}
答案:
hello long
这条题目考的是重载方法匹配的优先级,那么它的匹配优先级是怎样的呢?
我们可以扩充一下这个程序,加入一些其他的参数,然后测试一下:
public class Overload {
// Object 参数
public static void say(