0
点赞
收藏
分享

微信扫一扫

如果不重写toString()方法...

架构大数据双料架构师 2022-04-07 阅读 109
java

       每个类都是Object的子类,Object自带一个toString()方法,它的内容是这样的:

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

       解释:也就是打印 对象的运行时对象的类+@+该对象的hashcode的十六进制形式。

       验证如下:

public class OuterClass {
    int age;
    String name;

    public OuterClass(int age, String name) {
        this.age = age;
        this.name = name;
    }

    public static void main(String[] args) {
        OuterClass outerClass = new OuterClass(18,"张三");
        System.out.println(outerClass.toString());
        System.out.println(outerClass);  //这句效果和上面是一样的。 输出:Test.OuterClass@1b6d3586
        System.out.println(Integer.toHexString(outerClass.hashCode())); // 直接打印十六进制形式的hashcode得到 1b6d3586
    }
}
举报

相关推荐

0 条评论