学习笔记之String.valueOf(Object obj)剖析

来源:互联网 发布:php __callstatic 编辑:程序博客网 时间:2024/06/03 20:14

 

String.valueOf(Object obj)

此方法返回 Object 参数的字符串形式,如果参数为 “null”,返回“null”,否则返回objtoString()的值。

1、因为参数是Object类型,所以任何一种数据类型的对象都可以放进去,只要它是对象就行;

2、放进去之后,会调用这个对象的toString方法;

3、这里有多态存在:

    比方说有个Date类,重写了toString方法,

   Date d = new Date(2012,11,20);

   Stirng str = String.valueOf(d);// 相当于d.toString();

   此时,d 本身的类型消失了,我们只能看到d作为Object类型专有的那些方法。

   调用toString方法时,本来是应该调用Object的toString方法的,但是由于它重写了toString方法,动态绑定,实际给什么对象就调用这个对象的什么方法。

   这里是存在多态的:1)有继承:Date继承了Object    2)有重写:重写了toString方法   3)父类引用指向子类对象:obj是父类引用,实际当中传的是子类对象d

 

 

原创粉丝点击