输出是什么?
What is the output?
下面第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
方法,默认情况下将 return toString
所在对象的 HashBased 内存位置已调用。
在您的场景中:A@18fea98
这是预期的输出。如果你需要打印 x 属性的值,你有以下两种选择
- 调用getter获取属性值
- 将 A class 上的
toString
方法覆盖为 return 您想要的表示
例如:
class A{
private int x;
public A() {
x = 0;
}
public String toString() {
return "A:"+x;
}
}
下面第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
方法,默认情况下将 return toString
所在对象的 HashBased 内存位置已调用。
在您的场景中:A@18fea98
这是预期的输出。如果你需要打印 x 属性的值,你有以下两种选择
- 调用getter获取属性值
- 将 A class 上的
toString
方法覆盖为 return 您想要的表示
例如:
class A{
private int x;
public A() {
x = 0;
}
public String toString() {
return "A:"+x;
}
}