详解每个类中toString()方法

在我们定义一个类的时候都会创建一个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的方法实际上为了不用通过类变量调用方法来达到显示值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值