Java基础(五):重写toString()方法

x33g5p2x  于2021-09-20 转载在 Java  
字(1.0k)|赞(0)|评价(0)|浏览(253)

1、Object()类的 toString()

Java默认的toString方法来自Object类
在Java中每个类都直接或者间接继承Object类,toString()方法同样是来自于Object

在没有重写toString的前提下,每次执行System.out.println(对象引用),这个方法就会默认调用一个继承来自Object类型对象的toString方法。

public class Object { 
    public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }
}

一个对象,则直接打印该对象的hash码(类似于@15dc2556),它的值大概就是等于getClass().getName+'@'+Integer.toHexString(hashCode())

2、重写toString()方法意义

重写toString()可以理解为是对对象打印输出时候的一种格式化。这样符合业务逻辑,显示结果人性化。

基本数据类型都重写toString() 方法

public final class Integer extends Number implements Comparable<Integer> {        

    public String toString() {
       return toString(value);
    }
    public static String toString(int i) {
        if (i == Integer.MIN_VALUE)
            return "-2147483648";
        int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i);
        char[] buf = new char[size];
        getChars(i, size, buf);
        return new String(buf, true);
    }
}

3、总结 

1、没有重写toString,每执行System.out.print(Object o)会默认调用Object的toString()方法,情况如下

2、重写toString(),每执行System.out.println()会调用重写的toString()方法,情况则会根据重写的方法打印输出成自己想得到的格式

相关文章

微信公众号

最新文章

更多