关于容器与TOSTRING()函数的混合问题!
import java.util.*;
public class TestTostring {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("ten");
c.add("eleven");
System.out.println(c);
}
}
该段程序的执行结果是打印出了【ten,eleven】。
按照书上说,放入容器中的任何对象都被以OBJECT的形式存储,那么当执行System.out.println(c);语句时应调用ArrayList();中重载的TOSTRING函数,该函数依次调用放入容器中对象的TOSTRING函数,容器中的类型都为OBJECT,那么调用OBJECT的TOSTRING函数,则应该打印出对象的地址。
请各位大侠指点
问题点数:20、回复次数:4Top
1 楼tonytyk()回复于 2004-12-02 11:08:33 得分 0
看源码Top
2 楼zlzj2010()回复于 2004-12-02 11:22:41 得分 0
String覆写了object的VToString方法,所以,再调用toString时时直接调用String的toString方法。Top
3 楼dengcainiao(泛)回复于 2004-12-02 13:03:42 得分 0
楼上的,在容器里置入的对象不是OBJECT类型吗?怎么会调用STRING的tostring方法呢?
Top
4 楼funcreal(为中华之崛起而编程)回复于 2004-12-02 13:17:27 得分 20
此乃多态性也。
Top




