Объясните, пожалуйста, почему методы инициализации должны быть в данном случае обязательно public и почему переменные класса не обязательно указывать как static. До этого момента считал, что всё должно быть наоборот - переменные класса всегда static а методы нужны public только для возможности вызова из других классов (у нас же он единственный)
Сергей
9 уровень
Модификаторы доступа public и static
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia Volkova Java Developer в DXC Master
1 октября 2019, 20:55
static переменные будут общими для всех экземпляров класса. Например, если в классе Cat мы сделаем статическое поле name, то получится, что всех котов будут звать одинаково (что было бы странно). Если мы хотим, чтобы у каждого объекта были свои собственные поля (у каждого кота свое имя), то переменные не должны быть static.
Про public вопрос не совсем понятен. Методы не обязательно должны быть public. И здесь действительно только один класс. Но это учёба. А в реальной жизни так обычно не бывает. Если мы создаём класс - например, Friend - то вероятно мы хотим где-то использовать объекты этого класса. Логично, чтобы у нас была возможность из других классов создавать эти объекты и инициализировать нужным образом.
+1