黑马程序员技术交流社区
标题:
关于打印类类型变量,是否都覆盖toString()方法,
[打印本页]
作者:
Alan
时间:
2013-4-16 17:07
标题:
关于打印类类型变量,是否都覆盖toString()方法,
本帖最后由 Alan 于 2013-4-17 10:38 编辑
//关于打印类类型变量,是否都覆盖toString()方法,
//疑惑 : File fl = new File("d:"); System.out.println(fl); fl不是存的是File的对象引用
//为何System.out.println(fl)能直接打印出路径,按理说是打印结果为 File@。。。。。这样才对??
作者:
沈浩
时间:
2013-4-16 17:30
你说的结果是File@。。。。。这样子 这是Object中toString()方法打印的结果 因为File覆写了Object中toString()方法
File中toString()方法 是 返回此抽象路径名的路径名字符串。
所以结果会是你看到的那样
作者:
先小涛
时间:
2013-4-17 00:45
Object中的toString方法如下
//Object中的toString方法,返回的是:类名+@+hashCode值的十六进制表示,如:Person@3c45f4
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
复制代码
而File则覆写了Object中的toString方法,返回的是路径名字符串。代码如下:
public String toString() {
return getPath();//返回路径名字符串
}
子类覆写父类方法后,就调用子类的方法。
作者:
Alan
时间:
2013-4-17 10:37
谢谢。 明白了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2