我刚刚了解了对象类中的toString()
方法以及如何在其他类中重写它。
class Box {
public String toString(){
return ”class Box”;
}
}
class B {
public static void main(String args[]){
Box b1=new Box();
System.out.println(b1);//case 1
Box b2=b1;//case 2
}
}
所以我的问题是,盒子对象如何知道在情况1中Box类的toString()
中返回String并在情况2中返回b1对象的地址?
您的System.out.println
方法是(Object)
重载,而不是(String)
。 PrintStream.println(Object)
对其参数调用toString()
。