嗨,我在看关于对象,实例的stackoverflow上的另一篇文章。
我尝试了一些代码。
public class Puppy{
public Puppy(String name){
// This constructor has one parameter, name.
System.out.println(name);
}
public static void main(String []args){
// Following statement would create an object myPuppy
Puppy myPuppy = new Puppy("Tommy");
Puppy myPuppy2 = new Puppy ("Sally");
System.out.println(myPuppy);
}
}
输出是
Tommy
Sally
Puppy@58886ad0
题:
当我尝试在main方法中打印出对象myPuppy时,它打印出其引用而不是值?我该如何解决?
另外,有人提到我实际上没有存储小狗的名字,我需要编写一个toString方法来打印出值而不是引用。
我应该如何完成以上工作?
非常感谢!
最佳答案
您必须在toString()
上实现Puppy
...
@Override
public String toString() {
return "Puppy[name=" + name + "]";
}
显然,使它返回的
String
符合您的需求。编辑:正如其他人所提到的,请确保在构造
Puppy
时实际上存储了名称。