public class Person {
private String first_name;
private String second_name;
private String phone;
public class Account {
private Person accountHolder;
Подскажите почему в классе Account в указан другой класс?
Также прошу подсказать, обязательно ли именовать пакеты в Java именно так "com.javastart.NAME"?
Заранее спасибо
Если вам непонятен код в учебнике - перечитайте параграф перед ним.
Если вам непонятен код в видосике - выкиньте его и возьмите учебник.
Там все объясняется, и про классы-члены, и про стандарты именования, просто не ленитесь прочитать.
Объяснения на QnA, сколь угодно подробные, не заменят базы.
Нахватавшись по верхам, вы получите опасную иллюзию знания - до первой проверки.
Классы описывают реальный мир.
Вот у вас есть класс человек (person) у человека есть имя, фамилия и телефон.
Следующий класс - учётная запись (Account). Учётная запись кому-то принадлежит и этот кто-то - человек, которого описывает класс person, который добавлен как поле в класс account.
Т.о., если понадобится выяснить кому принадлежит учётная запись - эта информация всегда будет доступна.
ChikenDev, технически это будет ссылка. У человека может быть несколько, например, аккаунтов. И во всех них будут ссылки на единственный объект person.
"А как это называется, ссылка или просто-напросто класс Person стал полем для класса Account?"
По всей видимости у вас нет понимания что происходит во время выполнения программы.
Когда вы описываете класс, буквально пишете текст - вы пишете "шаблон" для объекта определенного типа (то есть определенного класса). Во время выполнения программы класс Person не станет полем для Account. КОНКРЕТНЫЙ Person можно будет получить в КОНКРЕТНОМ Account.
Например (опишу неким псевдокодом):
Предположим что в вашем Account еще есть поле accountId.
Вы читаете базу данных с аккаунтами из такой таблицы:
| account_id | first_name | last_name | phone
| 123 | Ivan | Ivanov | +79271111111
| 456 | Petr | Petrov | +79272222222
Вы читаете строку за строкой и для каждой строки выполняете такой код (создаете объекты и допустим складываете аккаунты в список):
Person person = new Person(currentRow.first_name, currentRow.last_name, currentRow.phone);
Account account = new Account(currentRow.account_id, person);
accountList.add(account);
В итоге в памяти вашего приложения будет храниться список с аккаунтами:
У аккаунта 123 внутри будет ссылка на персону Иван Иванов с телефоном 79271111111
У аккаунта 456 внутри будет ссылка на персону Петр Петров с телефоном 79272222222
обязательно ли именовать пакеты в Java именно так "com.javastart.NAME"
Их можно именовать как угодно. Просто если делать интеграцию твоего приложения с другими
библиотеками то конфликтов имен можно избежать если всегда добавлять домен + твое имя.
Это практически всегда уникально.