print对象时默认调用该对象的toString方法,printtostring
print对象时默认调用该对象的toString方法,printtostring
Name类(重写toString方法):
-------------------
public class Name {
@Overridepublic String toString(){
return "test";
}
}
-------------------
==================================
ToString类(实例化Name类):
-------------------
public class ToString {
Name name = new Name();
public static void main(String[] args) {
System.out.println(new ToString().name);
}
}
-------------------
===================================
运行结果:
----------
test
空行
----------
===================================
结论:
---------
System.out.println(new ToString().name)
打印一个对象时,println方法默认调用被打印对象的toSttring方法
当我们调用Name类的实例时,就会打印出我们重写的toString 方法
---------
====================================
原因(jdk源代码):
----------
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();
}
相关文章
- 暂无相关文章
用户点评