Object类的toString方法

博客围绕Object类的toString()方法展开,介绍其源码及运行结果。解释了static修饰成员在类加载时申请内存,main方法中输出语句、创建对象调用toString方法等操作,还提到输出对象名默认调用该方法,并将进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Object类的toString()方法

源码

public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。 
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于: 

getClass().getName() + '@' + Integer.toHexString(hashCode())
 
返回:
该对象的字符串表示形式。

package com.kude.exercise;

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";
    }
}

运行结果:

I love java
me 2

解释:首先是一个静态常量 i,static修饰的成员或代码块在类加载的时候会进行内存申请,main()方法是程序的入口,第一行代码是输出语句,后面new了一个该类的对象,相当于调用该类的toString方法,打印I,返回字符串java与love拼接起来,最后打印出I love java,下一步对成员i加1,最后打印出me 2。
注意:java中输出对象名,相当于默认调用toString()方法

  public static void main(String[] args) {
        Demo demo=new Demo();
        System.out.println(demo.toString());
        System.out.println(demo);
    }
    运行结果:
    com.kude.exercise.Demo@74a14482
	com.kude.exercise.Demo@74a14482

验证:

    public static void main(String[] args) {
        System.out.println(new Demo());
    }
    public String toString(){
        System.out.println("I");
        return "java";
    }
}
运行结果:
I
java



public class Demo {
    public static void main(String[] args) {
        System.out.println("hao  "+new Demo());
    }
    public String toString(){
        System.out.println("haha ");
        return "xiaoxiao";
    }
    运行结果:
    haha  
hao  xiaoxiao
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值