Всем привет, помогите разжевать по полочкам. Пожалуйста.
Я выполнил задачу чуть-чуть думая и методом исключения, но не пойму как это работает.
Если кто может, то в дискорде ну или тут в чате.
+7
Комментарии (11)
популярные
новые
старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
В общем он принимает целочисленное значение(int) и прибавляет ее к переменной класса.
Постараюсь более детально объяснить
В классе Apple
1) У нас есть переменная класса applesPrice со значением 0.
publicstaticint applesPrice =0;
(Тут важно отметить что статистические методы и переменные принадлежат классу, а не объекту. И для всех объектов она будет общей)
2) Так же у нас имеется статистический метод c возвращаемым типом void и который в параметрах принимает целое число(int)
publicstaticvoidaddPrice(int applesPrice)
Внутри тела метода к переменной класса applesPrice прибавляется переданный в качестве аргумента метода значение(int applesPrice)
Пример как работает из твоего кода:
Создали первый объект класс Apple
Apple apple =newApple();
на этот объект вызвали метод addPrice с аргументом 50
apple.addPrice(50)
Что происходит в самом методе после его вызова:
1)Передается значение 50
2)И прибавляется к переменной applesPrice которая в данный момент равна 0
Благодарю за разъяснения, друже! Весьма полезно для таких ламеров как йа) Мне даже кажется, что такие подробные комментарии к решению можно в отдельный блок выносить
Ну не знаю, я закоментировал "Apple apple = new Apple();" и получил ошибку.
Правильно ли я понял, что если мы объявляем переменную таким образом: "public static int applesPrice = 0;", то мы сможем обращаться к ней из любого места класс Solution?
Если проводить аналогию с предыдущей задачей (про возраст), то ключевым различием между объявлением переменных является наличие "static"?
publicstaticint applesPrice =0;//можем обращаться из любого классаpublicint age =20;// можем обращаться только из текущего класса