Jak wydrukować adres obiektu, jeśli przedefiniowałeś metodę toString
Jestem nowicjuszem w Javie. Teraz uczę się równe i == i redefinicja równych i ciągów.
Chciałbym użyć zarówno metody toString, którą przedefiniowałem, jak i domyślnej metody dziedziczonej z klasy Object.
Nie udało mi się użyć tego super modyfikatora do osiągnięcia tej metody.
Jest to tylko w celach edukacyjnych. To, co chciałbym uzyskać, jest bardziej jasne, jeśli spojrzysz na komentarze w moim kodzie.
Czy mógłbyś mi pomóc tutaj?
Mój kod to:
public class EqualTest{
public static void main(String[] args){
Employee alice1 = new Employee("Alice Adams", 75000, 1987, 12, 15);
//System.out.super.println(alice1);
Employee alice2 = alice1;
//System.out.super.println(alice2);
Employee alice3 = new Employee("Alice Adams", 75000, 1987, 12, 15);
//System.out.super.println(alice3);
System.out.println("alice1==alice2: " + (alice1==alice2));
System.out.println("alice1 == alice3: " + (alice1==alice3));
System.out.println("alice1.equals(alice3): " + alice1.equals(alice3));
}
}
class Employee{
...
public String toString(){
return getClass().getName() + "[name = " + name +
", salary=" + salary + ", hireDay=" + hireDay + "]";
}
}