Inner and Nested
Есть класс Worker, ему нужно добавить конструктор по умолчанию и с параметрам, так же методы получения и установки, и метод toString().
public class Worker
{
private int id;
static int counterId;
private String surname;
private String name;
private int age;
private int gender;
private Address address; <---
private Contacts contacts;
public Worker()
{
}
public Worker(String surname, String name, int age, int gender)
{
id = counterId++;
this.surname = surname;
this.name = name;
this.age = age;
this.gender = gender;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getGender() {
return gender;
}
public void setGender(int gender) {
this.gender = gender;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public Contacts getContacts() {
return contacts;
}
public void setContacts(Contacts contacts) {
this.contacts = contacts;
}
@Override
public String toString() {
return "Worker № " + counterId + ": " + surname + " " + name + ", " + age + ", " + gender;
}
//внутрений клаcc
public class Gender
{
public static final int NOT_SPECIFIED = 0;
public static final int MALE = 1;
public static final int FEMALE = 2;
public static final int MIN = 0; //Минимальное значение пола
public static final int MAX = FEMALE; //Максимальное значение пола
}
public class Address
{
private String country;
private String region;
private String town;
private String house;
private String apartment;
public Address()
{
}
public Address(String country, String region, String town, String house, String apartment) {
this.country = country;
this.region = region;
this.town = town;
this.house = house;
this.apartment = apartment;
}
public String getCountry() {
return country;
}
public void setCountry(String country) {
this.country = country;
}
public String getRegion() {
return region;
}
public void setRegion(String region) {
this.region = region;
}
public String getTown() {
return town;
}
public void setTown(String town) {
this.town = town;
}
public String getHouse() {
return house;
}
public void setHouse(String house) {
this.house = house;
}
public String getApartment() {
return apartment;
}
public void setApartment(String apartment) {
this.apartment = apartment;
}
@Override
public String toString() {
return "Address: " + country + " " + region + " " + town + " " + house + " " + apartment;
}
}
}
В классе Worker есть внутренний класс Address. У каждого работника должен быть уникальный адрес. Как правильно вызвать Address в main
public static void main(String[] args)
{
Worker worker1 = new Worker("Белоусов", "Максим", 23, 5);
worker1 = new Worker.Address("test","test","test","test","test");
System.out.println(worker1 + "\n" + worker2 + "\n" + worker3 );
}
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
@Override
public String toString() {
return "Worker № " + id + ...
^^
}
public Address getAddress
{
return address;
}
public class Address
{
...
public Address()
{
Worker.this.address = this;
}
public Address(String country, String region, String town, String house, String apartment)
{
this();
this.country = country;
...