2015-04-17 28 views
2
public static void main(String args[]){ 
Person p = new Person(); 

System.out.println(p.toString()); 
} 

这是我在这个类上调用toString的地方。 类是: 公共类Person {为什么我的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;} 

}
它打印此:

[email protected]  

我想知道为什么它打印这一点,它是什么。我的老师给了我这份任务,但我在谷歌或其他地方找不到任何东西。

+0

这是默认的输出。你期望它打印什么? – SLaks

+0

我不指望它打印任何东西,我只是想明白它为什么打印它!像它有意义或什么?所有的数字? –

回答

2

你看到的输出来自Java默认toString方法:

公共字符串的toString()

返回 对象的字符串表示。通常,toString方法返回一个字符串, “文本表示”此对象。结果应该是一个简明但易于阅读的信息性表示。建议所有子类重写此方法为 。

了toString Object类 方法返回一个由 类的对象是一个实例,该符号字符'@”, 和的哈希码的无符号的十六进制表示的名称的字符串 对象。换句话说,此方法返回一个字符串等于的 值:

的getClass()的getName()+ '@' + Integer.toHexString(hashCode()方法)

返回:一个串对象的表示。

For more information about this take a look at the docs.