System.out.println(new Date()); 打印问题

zhangwuyi55 2014-11-25 11:39:35
刚学java 有点不明白。

这是怎么打印出来的。 new Date()创建的是一个Date对象 返回值是该对象的地址还是其它?

调用println是怎么打印成字符串的。书上是介绍是自动转换成了String。 这是怎么一个转换流程。

是调用的Date的api接口。 还是类型的自动转换?
...全文
264 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qzw1210 2014-11-25
  • 打赏
  • 举报
回复

java.util.Date中重写了toString方法。
zhangwuyi55 2014-11-25
  • 打赏
  • 举报
回复
引用 3 楼 magi1201 的回复:
PrintStream 的println(Object x) 实现

public void println(Object x) {
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }
 }
继续跟

public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
}
必须有toString 方法,这也是默认调用的
谢谢了。。 就是想知道这中间是怎么一个调用流程。 这样就明白很多了。
猎魔人-不纯 2014-11-25
  • 打赏
  • 举报
回复
只能说,刚学习问题是特别多...然后学着学着,问题还是特别多,有些就忘了。。。
姜小白- 2014-11-25
  • 打赏
  • 举报
回复
PrintStream 的println(Object x) 实现

public void println(Object x) {
        String s = String.valueOf(x);
        synchronized (this) {
            print(s);
            newLine();
        }
 }
继续跟

public static String valueOf(Object obj) {
        return (obj == null) ? "null" : obj.toString();
}
必须有toString 方法,这也是默认调用的
zhangwuyi55 2014-11-25
  • 打赏
  • 举报
回复
引用 1 楼 qu1210 的回复:

java.util.Date中重写了toString方法。


谢谢了!!! 自己写了个测试用的类



写了有两个返回String的方法。还是只调用 toString 看来java就是默认调用到了 toString的方法。

去掉了toString的方法就不行。

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧