Может кто-нибудь объяснить зачем удалять "static" и откуда взялся "earth" это какой-то класс? Откуда он взялся? Почему его открыть нельзя?
Anonymous #3062817
47 уровень
Задача решена, но есть вопрос.
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #598481
5 мая 2022, 07:41
Код покажи, не у всех есть доступ к задачам.
0
Anonymous #3062817
5 мая 2022, 12:16
Поскольку задача решена, не разрешило задачу прикреплять, task1102
Условие
🎁
Земля: техническая характеристика
Java Syntax Pro
12 уровень, 2 лекция
12
Сделай все переменные класса Planet не статическими.
После этого внеси необходимые правки в метод main.
Сделай все переменные класса Planet не статическими.
После этого внеси необходимые правки в метод main.
Требования:
• Все переменные класса Planet должны быть не статическими.
• В методе main должны присваиваться значения всем переменным объекта Planet earth.
Класс Solution начальные условия
Класс Planet начальные условия
0
hidden #598481
5 мая 2022, 13:04
earth - это просто имя переменной типа Planet.
Например String name - переменная name типа String.
Planet earth - переменная earth типа Planet.
+1
hidden #598481
5 мая 2022, 13:16
Чтобы понять, зачем удалять static, надо понять, что такое по своей сути класс и объект этого класса.
Класс описывает схему того, что собой представляют его объекты.
Когда ты пишешь класс и описываешь в нём поля (нестатические переменные класса называются полями), ты тем самым говоришь, что у каждого объекта этого класса будут свои значения для каждого из этих полей.
Модификатор static говорит о том, что это поле относится не к одному созданному объекту, а к классу как таковому.
То есть если написать в классе Planet строку
то ты не сможешь написать, что у какой-то планеты есть возраст:
Вернее сможешь, но это будет то же самое, что и написать Planet.age = 99999999; потому что к статическим переменным нужно обращаться через имя класса. В таком контексте эта запись означает примерно, что возраст самого такого явления как планета составляет 99999999 лет. Смысла в этом, надо сказать, немного.
А вот если, допустим, упростить и представить, что класс Planet представляет собой только планеты солнечной системы, то можно было бы добавить туда статическое поле String star = "Sun"; потому что звезда у планет одна на всех, а не у каждой своя.
+8
Anonymous #3062817
5 мая 2022, 15:08
Спасибо за подробный ответ
0
Andrei
6 июня 2022, 16:22
спасибо за разъяснение. а если сделать класс Planet статическим?
0
hidden #598481
6 июня 2022, 16:45
Нельзя сделать класс статическим, если он лежит в отдельном файле.
Статическим или нестатическим может быть вложенный или внутренний класс внутри другого класса и он будет статическим/нестатическим по отношению к внешнему классу.
+2