正在开发一个小型应用程序,允许 DVD 和主角对象从两个不同的类显示,但我得到以下输出。
person.Person@10ed7f5c
任何人都可以深入了解我出了什么问题吗?
DVD类
public class DVD {
private String title;
private Person leadActor;
private int noOfStars;
public DVD (String a,Person person, int b) {
title = a;
leadActor = person;
noOfStars = b;
}
public String getTitle(){
return title;
}
public void setTitle(String title){
this.title = title;
}
public Person getLeadActor(){
return leadActor;
}
public void setLeadActor(Person leadActor){
this.leadActor = leadActor;
}
public int getNoOfStars(){
return noOfStars;
}
public void setNoOfStarts(int noOfStars){
this.noOfStars = noOfStars;
}
@Override
public String toString() {
String s = "Title " + title + "/r" + "Actor:" + leadActor + "/r" + noOfStars;
return s;
}
}
人员类别
public class Person {
private String firstName;
private String lastName;
public Person (String a, String b){
firstName = a;
lastName = b;
}
public String getfirstName(){
return firstName;
}
public void setfirstName(String firstName){
this.firstName = firstName;
}
public String getlastName(){
return lastName;
}
public void setlastName(String lastName){
this.lastName = lastName;
}
}
我的类创建对象并调用 toString
public class DvdTest {
private DVD d1;
public static void main (String [] args){
Person p2 = new Person ("Leonardo", "Decaprio");
DVD d1 = new DVD ("Inception",p2,4);
System.out.println (p2.toString());
}
}
最佳答案
就像 DVD
类一样,您也需要重写 Person
类中的 toString()
方法。目前它正在打印从toString()
的默认实现返回的值。 ,就像这样
getClass().getName() + '@' + Integer.toHexString(hashCode())
下面是您可以使用的 IDE 生成实现示例。
@Override
public String toString() {
return "Person [firstName=" + firstName + ", lastName=" + lastName + "]";
}
关于java - Get/Set 方法错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19857369/