第1行显示的内容如下? BlueJ打印A @ 18fea98,但我不认为这是正确的。请帮忙,谢谢。什么是输出?
class A{
private int x;
public A(){
x=0;
}
}
//test code in client program
A test = new A();
out.println(test);//LINE 1
第1行显示的内容如下? BlueJ打印A @ 18fea98,但我不认为这是正确的。请帮忙,谢谢。什么是输出?
class A{
private int x;
public A(){
x=0;
}
}
//test code in client program
A test = new A();
out.println(test);//LINE 1
默认情况下,out.println(obj)
将调用对象上的测试方法toString
,默认情况下将返回其上toString
被调用对象的HashBased存储器位置。
在您的方案:[email protected]
其中,预计输出。如果您需要打印的X属性的值,你有以下两种选择
toString
方法上的一个类来返回你想要例如:
class A{
private int x;
public A() {
x = 0;
}
public String toString() {
return "A:"+x;
}
}
谢谢,我如何重写toString方法? –
我已经用示例实现更新了答案,在当前情况下输出将为“A:0”。根据需要随意修改toString实现。如果答案满意,请接受答案,以便其他人可能会觉得有帮助 –
你还指望它来打印? – Amit
这是正确的 - http://stackoverflow.com/questions/4712139/why-does-the-default-object-tostring-include-the-hashcode – radoh
“类Object的toString方法返回一个字符串组成的名称对象是实例的类,符号字符“@”和对象的哈希代码的无符号十六进制表示形式。“ – BoDidely