您的位置:首页 > 其它

详解每个类中toString()方法

2016-03-26 09:08 260 查看
在我们定义一个类的时候都会创建一个String 类型的toString()方法那么这个方法真正的作用及原理,为什么在输出类变量的时候会输出toString()的返回值

1我们定义的类默认的父类是Object类型,请看下面的源代码

public void println(Object x)

{

String s = String.valueOf(x);

synchronized (this)

{

print(s);

newLine();

}

}

详解:当我们把一个有指向对象的类变量给Object类型的变量,因为Object是父类变量所以x指向子类中拥有父类的方法,(多态方法)

2下面请看valueOf(x)方法的源代码

public static String valueOf(Object obj)

{

return (obj == null) ? "null" : obj.toString();

}

详解:当我们把x给obj的时候obj会得x所指向的对象,并判断当前所指向的对象是否为空,如果不为空将返回当前对象的toString()类型,也就是子类中的toString 类型

3.下面我们看以下toString()方法的源代码

public String toString()

{

return getClass().getName() + "@" + Integer.toHexString(hashCode());

}

//toString()方法是Object类中的一个方法,返回的是ss.链表@154283a

//当前类的名字和@还有一串字符串,至于字符串的产生原因这里的就不叙述了因为我们主要说的事toString();

4.总上所述,在一个类中定义一个toString的方法实际上为了不用通过类变量调用方法来达到显示值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: