Java 打印自定义类 实例 , 自动调用toString 方法的原因
2018-01-19 14:34
281 查看
PrintStream.java
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
String.java
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
通过源码可知,实际上输出语句 是调用了 String.balueOf(Object obj) 方法,这个方法主要判断我们要输出的内容是否为空,
为空则 返回 null 不为空则 调用 toString 方法。 注意,当我们 输出的内容是 自定义类时,需要 重写Object 中的toString()方法,才能按照我们想要输出的方式输出。 且 打印时会自动调用,无需手动调用。
public void println(Object x) {
String s = String.valueOf(x);
synchronized (this) {
print(s);
newLine();
}
}
String.java
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
通过源码可知,实际上输出语句 是调用了 String.balueOf(Object obj) 方法,这个方法主要判断我们要输出的内容是否为空,
为空则 返回 null 不为空则 调用 toString 方法。 注意,当我们 输出的内容是 自定义类时,需要 重写Object 中的toString()方法,才能按照我们想要输出的方式输出。 且 打印时会自动调用,无需手动调用。
相关文章推荐
- 原!! java直接打印一个对象时,并不是直接调用该类的toString方法 ,而是会先判断是否为null,非null才会调用toString方法
- Java多态 实例子类自动调用父类为空的构造方法 成员变量不支持Override 可写,没多态效果
- Java toString()方法的自动调用
- java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
- 当使用System,out.println()打印一个对象是自动调用toString方法
- java在调用System.out.println()打印一个新new的对象时,为什么会调用toString方法?
- java 打印对象时时如何调用对象toString()方法的
- java RMI(java远程方法调用实例解析)
- toString()一个会自动调用的方法
- Java窗体设计中控件的值自动清除的原因与解决方法
- 实现类的自动加载,类的自动实例,方法的自动调用{news.getOne}
- java 反射入门-属性方法调用实例
- java运行期间打印方法调用栈
- JS调用打印方法设置页眉页脚的实例
- 实现ApplicationContextAware的实例会自动调用setApplicationContext()方法
- 使用java反射中的getMethod,invoke方法调用对象方法的实例
- res中添加的资源不能在R.java中自动生成的原因及解决方法
- java 反射入门-属性方法调用实例
- 1、 编写一个方法(名字自定,但要符合Java编码规范),方法内打印一字符串,并在main()方法内调用它。