加拿大华人论坛 德国留学移民签证java 的小问题
在加拿大
很久没用java,看见一道题,不太明白,熟悉java 请帮我解释一下为什么,谢谢
3. class A { }
4. class B extends A { }
5. public class ComingThru {
6. static String s = "-";
7. public static void main(String[] args) {
8. A[] aa = new A[2];
9. B[] ba = new B[2];
10. sifter(aa);
11. sifter(ba);
12. sifter(7);
13. System.out.println(s);
14. }
15. static void sifter(A[]... a2) { s += "1"; }
16. static void sifter(B[]... b1) { s += "2"; }
17. static void sifter(B[] b1) { s += "3"; }
18. static void sifter(Object o) { s += "4"; }
19. }
What is the result?
A. -124
B. -134
C. -424
D. -434
E. -444
F. Compilation fails
评论
-434
> 10. sifter(aa);
Typ A[] ist nicht A[]..., daher wird sifter(Object o) aufgerufen. (4)
> 11. sifter(ba);
Eindeutiger Typ B[], daher wird sifter(B[] b1) aufgerufen. (3)
> 12. sifter(7);
ab Java 5 ist primitiver Typ autom. ein Objekttyp beim Aufruf, daher wird sifter(Object o) aufgerufen. (4)
·加拿大新闻 [多伦多天气] 今日零星飘雪 气温最低降至零下16度
·加拿大新闻 加拿大通胀率11月维持2.2%不变 惟杂货价格按年上升4.7%牛肉咖啡
·加拿大新闻 奥迪A6Le
·加拿大新闻 加拿大人入境美国恐被查手机!千万别删光社交媒体APP!
·加拿大新闻 被洗脑割韭菜加拿大新一代不买房都要买这个
·中文新闻 “我的心与他的孩子们同在”:朋友和亲戚对邦迪恐怖袭击中失
·澳洲新闻 邦迪恐怖枪击案凶手纳维德·阿克拉姆的父母是印度人和意大利