关于输出类对象,输出值中不包含成员变量的情况说明

261 阅读1分钟

先上关于Object类中toString对象中的源码。Object类是一切类的父类,我们在自定义任何类的时候都会继承Object,这时候如果我们想要输出类中的全部成员变量,我们可以通过System.out.println(类名)的方法。

以下以Person类为例 Person中含有String name和int age两个成员变量

会发现没有输出我们要的name和age的值。 我们发现实际上返回的是Object里toString方法,类名+@+哈希值的十六进制(基数16)无符号整数形式返回一个整数参数的字符串表示形式。 这个时候我们只需要在自定义类中重写toString的方法,就可以将成员变量直接输出了

由于博主在学习各个知识点的过程中时间间隔比较长,很多基础知识没有打牢固。代码本身也不存在问题的情况下,曾经一直纠结为什么输出的值不是类中的成员变量。所以写下此文让自己记忆深刻一些,同时也希望能帮助到有关此困惑的初学者们。