public class Person {
enum Sex{Male, Female}
private String initials;
private String lastname;
private String firstname;
private Sex sex;
private int yearOfBirth;
private double netWorth;
private Address homeaddress;
Sex male = Sex.Male;
Sex female = Sex.Female;
public Person(){}
public Person(String firstname, String lastname, int yearOfBirth, Sex sex, double netWorth, Address homeaddress)
{
this.netWorth = netWorth;
this.firstname = firstname;
this.lastname = lastname;
this.sex = sex;
this.homeaddress = homeaddress;
this.male = Sex.Male;
this.female = Sex.Female;
}
public void updateNetworth(double x)
{
this.netWorth = netWorth + x;
}
public String toString(){
return("\nName: " + this.firstname + this.lastname + "\n" +
"Address: " + this.homeaddress + "\nNet Worth: " + this.netWorth);
}
public static void main(String[] args)
{
Address a1 = new Address (258, "Masachu","New York","USA");
Person p1 = new Person("John","Brown",1998,Sex.Male,1000.00,a1);
System.out.println(p1.toString());
p1.updateNetworth(1000.00);
System.out.println(p1.toString());
}
}
public class Address {
private int streetNumber;
private String streetName;
private String city;
private String country;
public Address (int streetNumber, String streetName, String city, String country)
{
this.streetNumber = streetNumber;
this.streetName = streetName;
this.city = city;
this.country = country;
}
}
Каждый раз, когда я запускаю это поле моего адреса, печатается как Address@3feba861. Я не понимаю, почему это так. Итак, мой конструктор Person принимает объект Address, но мне кажется, что я не могу распечатать объект person с адресом таким образом. Как мне go исправить это?