println(Object X)

<---百草枯--->

qq:916923477---maooam;

对println(Object X)的理解 

public void println(Object X)

该函数的功能是:打印Object,然后终止该行。此方法首先调用String.valueOf(X)获取打印对象的字符串值,然后的行为如同先调用print(String)在调用println()一样。
public void print(String s)
打印字符串。如果参数为 null,则打印字符串 "null"。否则,按照平台的默认字符编码将字符串的字符转换为字节,并完全以 write(int) 方法的方式写入这些字节。

 

参数:
s - 要打印的 String

 

public void println()

 

通过写入行分隔符字符串终止当前行。行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符 ('\n')。
public static String valueOf(Object obj)
返回 Object 参数的字符串表示形式。

 

参数:
obj - 一个 Object
返回:
如果参数为 null,则字符串等于 "null";否则,返回 obj.toString() 的值。

 

 

 

 

public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。

Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())
 

 

 

返回:
该对象的字符串表示形式。

 

 

 

例如:

 

class Parent{ public String toString(){    
  return  "this is Parent toStirng().";
    }
}
class Derived extends Parent{  
  public String toString(){    
    return "this is Dervied toStirng().";
  }
}
public class UpCast{
  public static void main(String[] args){  
    Derived d = new Derived();  
    System.out.println("Dervied 的 toString :" + d);  
    Parent p = (Parent)d;//向上转型  安全//可以写成Parent p = d;  
    System.out.println("转换为Parent 类型的 toString :" + p);  
    Object o = (Object) d;向上转型   安全//可以写成Object o = d;  
    System.out.println("转换为Object 类型的 toString :" + o); } }
 
输出的结果如下:
this is Dervied toStirng().
Dervied 的 toString :this is Dervied toStirng().
this is Dervied toStirng().
转换为Parent 类型的 toString :this is Dervied toStirng().
this is Dervied toStirng().
转换为Object 类型的 toString :this is Dervied toStirng().
 
注意!!!!
    这时候不是看变量的类型而是看对象的引用是什么类型的。因为Parent p = (Parent)d;和Object o = (Object) d;的引用都是d,所以结果就是如上面那样

 

 

 

posted on 2013-08-19 22:56  Jason-liang  阅读(253)  评论(0)    收藏  举报

导航