toString始终要覆盖掉

本文详细解析了Java中对象的toString方法的作用、实现原理及优化策略,强调了覆盖toString方法的重要性及其对调试和信息展示的帮助。通过具体示例展示了如何在自定义类中实现toString方法,以提供有意义的摘要信息。

package endual.test;

import java.io.Serializable;
//始终要覆盖的是toString的方法,这个有利于程序员进行查看
//Object类里面的toString方法是返回的是String类型的值,调研的是本地方法,用int类型的静态方法进行的运行
//而实例对象被放入到打印等jre默认的一些打印的方法的时候会调研到父类的toString方法,自动调用的
//所以我们在进程创建对象的时候,最好是覆盖掉toString方法,这样有利于我们以后在查看这个类实例的时候
//查到这个类的作用以及一些调试的信息
public class People implements Serializable, Comparable<People> {

    private int id; //虚拟机在类加载的时候将默认的值0赋值给了int类型
    private String name; //而String类型的则没有做任何的初始化操作,所有并没有值赋值给String设置的时候为null
   
    private int age;

    public int getId() {
        return id;
    }

    @Override
    public String toString() {
        //String name = "xxx" ;
        return id + "@" + name +"@"+ age;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public int compareTo(People o) {
        // TODO Auto-generated method stub
        return 0;
    }

}

 

 

-----------------------------------------------------------------------

package endual.test;

public class MainTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        People peo = new People() ;
       
       
        System.out.println(peo);
       
       
    }

}

 

 

==========================================

在实际的应用中,toString方法应该返回的对象中包含的所有值得关注的信息,例如上述people的个人信息

。如果对象太大,或者对象中包含的状态信息难以用字符串来表达。这样做的有点不切实际,在这种情况下,toString方法应该唤回的是一个简要的摘要信息。

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值