2015-04-17 2 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]  

Я хотел бы знать, почему он печатает это и что это. Мой учитель дал мне это задание, но я не могу найти что-либо в Google или в любом другом месте.

+0

Это выход по умолчанию. Что вы ожидаете от печати? – SLaks

+0

Я не ожидаю, что он что-нибудь напечатает, я просто хочу понять, почему это печатает это! как это имеет смысл или что-то еще? все номера? –

ответ

2

вы видите выход происходит от по умолчанию toString метода Java:

общественности Строка ToString()

Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая «текстово представляет» этот объект. Результат должен быть кратким, но информативным представлением , которое легко прочитать человеку. Это рекомендовал, чтобы все подклассы перекрывали этот метод.

ToString метод класса Object возвращает строку, состоящую из имени класса которого объект является экземпляром, на-знак символ `@», и беззнаковое шестнадцатеричное представление хэш-кода объект . Другими словами, этот метод возвращает строку, равную значения:.

GetClass() GetName() + '@' + Integer.toHexString (хэш-код())

Возвращает: строка представление объекта.

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

0

Согласно http://www.javabeginner.com/learn-java/java-tostring-method

toString() выход по умолчанию является:

Имя класса + @ + шестигранной версия хэш-кода объекта каскадной в строку.

Метод хеш-кода по умолчанию в Object обычно реализуется путем преобразования адреса памяти объекта в целое.

Смежные вопросы