public class Person {
protected String name;
public Person(String name) {
this.name = name;
}
public void setName(String name) {
this.name = name;
}
public String toString() {
return name;
}
}
public class Student extends Person {
protected String program;
protected int credits;
public Student(String name, String program) {
super(name);
this.program = program;
credits = 0;
}
public String toString() {
return name + ", " + program;
}
...
}
public class FacultyMember extends Person {
protected String department;
public FacultyMember(String name, String department) {
super(name);
this.department = department;
}
public String toString() {
return name + ", " + department;
}
}
Предположим, что мы объявляем переменную String info
. Что значение, что информация получить в каждом заявлений:В чем преимущество использования toString()
Person p = new Person("Lisa Svensson");
info = p.toString();
p = new Student("Lisa Svensson","D");
info = p.toString();
И какова выгода от использования toString()
в этом примере?
Значение, которое 'info' получает, зависит от того, что делают методы' toString() 'классов Person и Student. Не могли бы вы опубликовать их? – Mshnik
Вы не можете назначить 'p'' info', потому что один является объектом 'Person', а один является объектом' String'. '.toString()' преобразует 'p' в' String'. –
Почему бы вам не запустить и не увидеть результаты! –