Всем привет, помогите разжевать по полочкам. Пожалуйста.
Я выполнил задачу чуть-чуть думая и методом исключения, но не пойму как это работает.
Если кто может, то в дискорде ну или тут в чате.
Vadim Fogys
6 уровень
Цена Яблок
Решен
Комментарии (11)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Кирилл
13 октября 2022, 13:18
а решение, которое на картинке прошло? Я написал такое же и мне выдалась ошибка...
0
Andrew_kgd
28 июня 2022, 19:45
почему мы складываем Apple.applesPrice , а не apple.addPrice и apple2.addPrice?
+1
Умалат работаю в totamtosyam
1 февраля 2021, 18:40
Я так понял ты хочешь разобраться как работает метод addPrice?
0
Vadim Fogys
1 февраля 2021, 18:43
Да.
+8
Умалат работаю в totamtosyam
1 февраля 2021, 19:34решение
В общем он принимает целочисленное значение(int) и прибавляет ее к переменной класса.
Постараюсь более детально объяснить
В классе Apple
1) У нас есть переменная класса applesPrice со значением 0.
(Тут важно отметить что статистические методы и переменные принадлежат классу, а не объекту. И для всех объектов она будет общей)
2) Так же у нас имеется статистический метод c возвращаемым типом void и который в параметрах принимает целое число(int)
Внутри тела метода к переменной класса applesPrice прибавляется переданный в качестве аргумента метода значение(int applesPrice)
Пример как работает из твоего кода:
Создали первый объект класс Apple
на этот объект вызвали метод addPrice с аргументом 50
Что происходит в самом методе после его вызова:
1)Передается значение 50
2)И прибавляется к переменной applesPrice которая в данный момент равна 0
3) Значение которое было равно 0 становится равной 50
(Так как переменная является статистической она сохраняет это значение)
Потом создается еще один объект класса Apple
На этот объект вызывается метод addPrice со значением 100
В методе происходит тоже самое, только значение переменой уже равно 50 а не 0.
И по завершению метода ты получаешь 150 +103
Умалат работаю в totamtosyam
1 февраля 2021, 19:37решение
Причем объекты создавать не надо было
так как метод является static
достаточно было бы
+27
Умалат работаю в totamtosyam
1 февраля 2021, 19:38
То есть ты обращаешься через класс к этому методу а не через объект
+5
Умалат работаю в totamtosyam
1 февраля 2021, 19:40решение
P.s. Будет приятным бонусом для меня если поставишь статус "Решение" на мой ответ
+38
Anatoly Kaa
10 февраля 2021, 18:23
Благодарю за разъяснения, друже! Весьма полезно для таких ламеров как йа) Мне даже кажется, что такие подробные комментарии к решению можно в отдельный блок выносить
+8
Виктор
7 марта 2022, 15:25
Ну не знаю, я закоментировал "Apple apple = new Apple();" и получил ошибку.
Правильно ли я понял, что если мы объявляем переменную таким образом: "public static int applesPrice = 0;", то мы сможем обращаться к ней из любого места класс Solution?
Если проводить аналогию с предыдущей задачей (про возраст), то ключевым различием между объявлением переменных является наличие "static"?
Так? 0
Vadim Fogys
1 февраля 2021, 18:20
PS сначала я вывел через println Apple.applesPrice, ну и так всё выводил пока не получил нужное значение.
0