为什么如果我尝试打印一个对象,我得到 class 的名称后跟一个十六进制表示?

Why if i try to print an object i get the name of the class followed by a hexadezimal representation?

 MyClass mcc1d = new MyClass(18, "hello");
 System.out.println(mcc1a);

为什么上面代码的输出是下面的?

MyClass@23fc625e

这是因为在Java中,System.out.println()应用于一个对象调用.toString().toString() 方法的默认值 returns class 名称后跟 @ 后跟对象的哈希表示形式。