【发布时间】:2013-08-15 13:59:34
【问题描述】:
对于下面的代码,我无法理解如何调用重载函数 谁能给我一个详细的解释,当对象分别使用 Side 和 Tail 引用时,重载函数调用是如何进行的。
interface Side {
String getSide();
}
class Head implements Side {
public String getSide() {
return "Head ";
}
}
class Tail implements Side {
public String getSide() {
return "Tail ";
}
}
class Coin {
public static void overload(Head side) {
System.out.print(side.getSide());
}
public static void overload(Tail side) {
System.out.print(side.getSide());
}
public static void overload(Side side) {
System.out.print("Side ");
}
public static void overload(Object side) {
System.out.print("Object ");
}
public static void main(String[] args) {
Side firstAttempt = new Head();
Tail secondAttempt = new Tail();
overload(firstAttempt);
overload((Object) firstAttempt);
overload(secondAttempt);
overload((Side) secondAttempt);
}
}
【问题讨论】:
-
你试过调试模式吗?
-
目前还不清楚您到底对什么感到困惑。你给
overload打了四次电话——哪个电话让你感到困惑,以什么方式? -
调用重载(第一次尝试)让我感到困惑,因为 Side firstattempt=new Head()
标签: java interface overloading