Object类的toString方法示例

(一)源码示例

package com.mession;

public class ToStringTest {
    static int i=1;

    public static void main(String[] args) {
        System.out.println("love "+new ToStringTest());
        ToStringTest a=new ToStringTest();
        a.i++;
        System.out.println("me "+a.i);
    }
    public String toString(){
        System.out.print("I ");
        return "java";
    }
}

输出结果
在这里插入图片描述

(二)分析

一般我们遇到一个新的技能或者新的概念时,一般要从三个方面去问自己:
1.是什么?
2.为什么?
3.怎么做?

1.是什么

(1)toString

toString()属于java lang 包下Object类中的方法,文档说明如下
在这里插入图片描述

  • 因为所有类都要继承Object类,所以所有对象中都有这个方法,它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法,这样就不用每次输出都自己去转成String类型了
  • 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法

2.为什么

  • 首先是一个静态常量 i,static修饰的成员或代码块在类加载的时候会进行内存申请
  • main()方法是程序的入口,第一行代码是输出语句而且后面new了一个该类的对象,所以使用该类的toString方法,先在toString()中打印"I",然后+“love”,再加toString()的返回值,下一步对成员i加1,最后打印出me
    2。

注意:java中输出对象名,相当于默认调用toString()方法

3.怎么做

验证如下:

  • 输出对象名时调用toString()方法
  • System.out.println()括号中不是String类形时调用toString方法
package com.mession;

public class ToStringTest02 {

    public static void main(String[] args) {
        int test = 100;
        System.out.println(new ToStringTest02());
        //输出结果:我被调用了
        System.out.println(test);
        //输出结果:100  
    }

    public String toString(){
        return "我被调用了";
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值