Я занимаюсь java, создавая простой каталог. У меня 4 класса. К ним относятся:есть ли способ доступа к объекту внутри объекта?
Person
Адрес
Контакт
TestClass
Я уже закончили создание этой системы, и она работает так, как я хочу Это. Я сделал это, сделав 3 разных массива для Лица, адреса и контакта. Чтобы связать личность, адрес и контакт вместе, я помещаю их в соответствующий массив с тем же номером индекса. (Не в буквальном смысле их связывание, просто способ узнать, какой адрес или контакт для доступа при редактировании человека).
Но сейчас я хочу его оптимизировать. Я хочу создать единый HashMap, чтобы удерживать человека с адресом и контактами внутри него. Дополнительную информацию см. В моем коде ниже.
Person.class
public class Person {
private long Id;
private firtName;
private Address address;
private Contact contact;
//some setter and getter methods
public Person(Address address, Contact contact) {
this.address = address;
this.contact = contact;
}
}
Address.class
public class Address {
private String street;
private String city;
private String province;
//some setter and getter methods
}
Contact.class
public class Contact {
private long Phone;
private String Email;
//some setter and getter methods
}
testClass.class
public class testClass {
public static void main(String[] args) {
HashMap<Integer, Person> person = new HashMap<Integer, Person>();
person.put(1, new Person(new Address(), new Contact)));
person.get(1).setStreet("place");
}
}
Мой вопрос, в этой строке кода в TestClass
person.get(1).setStreet("place");
есть способ прямого доступа к/редактировать адрес или связаться с человека без создания отдельного массива или метод?
Я не понимаю, Что здесь проблема. Что такое «прямой доступ», о каком массиве/методе вы говорите? – ferit
У вас есть методы getter для адресов и контактов и их изменение. –
Маленькое дополнение на вашем именовании. Контакт может ошибочно приниматься за человека, в то время как вы скорее указываете контактную информацию. И вызов коллекции людей в единственном числе тоже сбивает с толку. Было бы легче читать как проиндексированные Люди или люди или, по крайней мере, люди. –