[問題] 不定長度引數的overloading問題
import static java.lang.System.out;
class Father{
public void foo(String...a){
out.println("Father.foo");
}
}
class Son extends Father{
public void foo(String a){
out.println("Son.foo");
}
}
public class app2{
public static void main(String args[]){
Father f = new Son();
f.foo("test");
}
}
請教各位:
當我在一個引數的情形下怎麼知道他會去呼叫father 還是 son的foo()?
因為一但我把father class 的foo method改成public void foo(String a)
在多型下他會去呼叫son class 的foo() (overriding沒錯吧)
可是在foo(String...a)和foo(String a)
情形下怎麼知道他會去呼叫哪一個?
感謝``
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.175.118
→
04/07 20:36, , 1F
04/07 20:36, 1F
推
04/07 20:38, , 2F
04/07 20:38, 2F
推
04/07 21:55, , 3F
04/07 21:55, 3F
→
04/07 21:56, , 4F
04/07 21:56, 4F
→
04/07 22:23, , 5F
04/07 22:23, 5F
推
04/07 23:02, , 6F
04/07 23:02, 6F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 4 篇):