18-toString

toString()

因为
1、toString()方法时Object类里的一个实例方法;
2、所有的Java类都是Object类的子类。
所以
1、所有Java对象都具有toString()方法。
在这里插入图片描述
2、所有的Java对象都可以和字符串进行连接运算。

在这里插入图片描述

toString()的“自我描述”功能

    toString()是一个非常特殊的方法,它是一个“自我描述”方法。
该方法通常用于实现这样一个功能:当程序员直接打印该对象时,系统将会输出该对象的“自我描述”信息,用以告诉外界该对象所有的状态信息。
  Object类提供的toString()方法总是返回该对象实现类的“类名+@+hashCode”值,这个返回值不能真正实现“自我描述”的功能,因此如果用户需要自定义类实现“自我描述”的功能,就必须重写Object类的toString()方法。
  
图示流程如下:
在这里插入图片描述
重写的toString()方法中,返回值通常的格式为:
return “Appple[color=” + color + “,weight=” + weight + “]”;
在这里插入图片描述
附录-代码
上图中的代码如下:

类代码:

public class Apple {
    private String color;
    private double weight;

    public Apple(String color,double weight){
        this.color = color;
        this.weight = weight;
    }
    //省略color、weight的setter和getter方法
    //...
    // 重写toString()方法,用于实现Apple对象的“自我描述”
    public String toString(){
        return "一个苹果,颜色是:" + color + ",重量是: " + weight;
    }
}

主函数代码:

public class ToStringTest {
    public static void main(String[] args) {
        Apple a = new Apple("红色",5.68);
        // 打印Apple对象
        System.out.println(a);
        //一个苹果,颜色是:红色,重量是: 5.68
    }
}

输出结果为:

D:\0software\jdk11\bin\java.exe "-javaagent:D:\0software\idea\IntelliJ IDEA 2018.2.2\lib\idea_rt.jar=51391:D:\0software\idea\IntelliJ IDEA 2018.2.2\bin" -Dfile.encoding=UTF-8 -classpath F:\IdeaProjects\out\production\Zcaogao-code CaoGao.ToStringTest
Appple[color=红色,weight=5.68]

Process finished with exit code 0

注意:
我使用的是JDK11

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值