Задачу решил, но логику решения никак не могу понять. Помогите разобраться.
1. Man man = new Man();
Здесь переменной man класса Man присвоили ссылку на класс Man. Другими словами присвоили переменной man целый класс. Я прав? Т.е. объект - это переменная, хранящая ссылку на класс?
Что это за класс переменной Man? Это Man обязательно должно совпадать с именем класса, на которой присваиваем ссылку переменной?
2. woman.husband = man
Что вообще означает эта запись?
3. Что такое поля и экземпляры?
В комментария и разделе "Помощь" встречал упоминания полей и экземпляров. Но что это так и осталось для меня не понятным.
Сергей
4 уровень
Помогите разобраться в понятиях.
Решен
class Man { ... } class Solution { ... } class Woman { ... }это не значит, что ты что-то создал. Это ты описываешь сам класс, то есть что будут представлять собой объекты этого класса. Сами по себе классы не взаимодействуют без методов, по сути классы - это набор правил, по которому могут взаимодействовать их объекты. Поэтому в программе должен быть по крайней мере один метод - метод main. И вот когда внутри какого-то метода ты пишешь ты уже начинаешь создавать объекты, в данном случае 4 объекта - один класса int, один класса String, один класса Woman, один класса Man и сохраняешь их в соответствующие переменные n, s, alice, bob. Пока что эти переменные никак не взаимосвязаны, но поскольку в описании класса Woman в нашей задаче написано, что у объекта этого класса может храниться объект Man в поле husband, ты можешь обратиться к этому полю:Таким образом ты обозначил, что в поле husband переменной alice будет храниться ссылка на объект bob.