Не понял теорию.
public class Person
{
String name;
int age; - обьявили сложный тип состоящий из двух переменных(примитивных). Далее:
public class Cat
{
Person owner;
Rectangle territory;
int age;
String name;
}
- Объявили новый сложный тип – Cat. У него есть переменные:
— owner, сложный тип Person. не понял взаимосвязи между Person и owner
Александр Кравец
2 уровень
уровень2 лекция 2
Обсуждается
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
5 февраля 2020, 07:37полезный
1. String - это тоже сложный тип.
2. Person owner - это переменная типа Person, имя которой - owner.
И да, у owner будут поля name и age, как и у любого объекта класса Person.
Но неверно говорить, что тип "состоит" из своих полей. (Ты же не будешь про себя говорить, что ты состоишь из своего имени, возраста и цвета волос, например). Поля являются "членами" класса (так же как и методы).
+1
Александр Кравец
5 февраля 2020, 07:33
Означает ли это что переменная owner (относящаяся к типу Cat) состоит из переменных name и age? (который в свою очередь описаны в типе Person)?
0
Егор ГераськинExpert
5 февраля 2020, 07:45полезный
Любая переменная не-примитив(примитивы это int, double, boolean, ...) является ссылочной переменной на ОБЪЕКТ определённого класса. То есть owner - ссылочная переменная на объект типа Person. Если ей не присвоена ссылка на какой-то реальный объект, то она как любое подобное поле хранит null.
Если она не null, то да, она ИМЕЕТ ПОЛЯ(как тебе справедливо выше написали) age и name.
+1