public static void main(String args[]){
Person p = new Person();
System.out.println(p.toString());
}
这是我在类上调用toString的地方。 这堂课是: 公共类人员{
private String FirstName;
private String LastName;
private int age;
private int salary;
public void setFN(String NewName)
{FirstName = NewName;}
public void setLN(String NewName)
{LastName = NewName;}
public void setAge(int NewAge)
{age = NewAge;}
public void setSalary(int NewSalary)
{salary = NewSalary;}
public String getFN()
{return FirstName;}
public String getLN()
{return LastName;}
public int getAge()
{return age;}
public int getSalary()
{return salary;}
}
它打印出来:
Person@7852e922
我想知道为什么要打印这个以及它是什么。我的老师给了我这个任务,但我在谷歌或任何其他地方找不到任何东西。
答案 0 :(得分:2)
您看到的输出来自Java默认toString
方法:
public String toString()
返回的字符串表示形式 宾语。通常,toString方法返回一个字符串 “文字表示”这个对象。结果应该是简洁但是 信息表达,便于人们阅读。它是 建议所有子类都覆盖此方法。
toString 类Object的方法返回一个由名称组成的字符串 对象是实例的类,符号字符“@”, 和哈希码的无符号十六进制表示 宾语。换句话说,此方法返回一个等于的字符串 价值:
getClass()。getName()+'@'+ Integer.toHexString(hashCode())
返回:对象的字符串表示。
答案 1 :(得分:0)
根据http://www.javabeginner.com/learn-java/java-tostring-method
toString()
默认输出为:
类名 + @ + 对象哈希码的十六进制版本连接成一个字符串。
Object中的默认哈希码方法通常通过将对象的内存地址转换为整数来实现。