class Data {
int a = 5;
}
class Main {
public static void main(String[] args) {
int b=5;
data dObj = new data();
System.out.println(dObj);
System.out.println(b);
}
}
我想知道打印对象或数字或字符串时发生了什么。在java中打印对象时会发生什么
我跑上面的代码中,我得到的结果是“数据@ 1ae73783”为System.out.println(dObj);
和“5”为System.out.println(b);
然后我做了调试,检查什么真的发生了打印物体时,有很多在调试模式下调用的参数(如类加载器,theards)
我知道第一次打印的值代表了类名后跟地址。但不知道在调试模式下真正发生了什么,因为在调试模式下发生第二次打印变量赋值,即b = 5。
请解释真的发生了什么?
Java中的每个引用类型是java.lang.Object'的'亚型,因此继承其'的toString()'方法。如果你的类没有实现这个方法,继承的版本会被调用。你看到的是该方法的结果。 –
格式化...这只是*糟糕的* ...所有'
'是什么? – Doorknob