Обьясните пожалуйста в крации и на простом языке для чего нужны static переменные и static методы?
Anonymous #3270767
14 уровень
Помогите пожалуйста у кого есть пару минут свободного времени.
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
not fun
17 марта, 14:50
java в целом не полностью ООП язык,
как раз из за статики и примитивов.
Вот какие там еще есть виды программирования?
Ээээ процедурные, функциональные, вот статитки это туда ближе...
static - это грубо говоря типа инструкции.
Сделай 1ое, 2ое, и т.д, для методов.
Используя на переменной, то указываешь что это константа, что это не какое то там
поле, а прям вот оно финализированное, да еще и статическое.
По умолчанию использовать статик не стоит.
Когда использовать статики? Ну как я заметил, то на утильных классах вешают статик,
и на его полях и методах.
Утильные классы это те которые имеют наличие методов которые выполняют
какую то небольшую, не связанную с основной логикой задачи + -,
нууу например Collections.sort()... или Arrays.sort или
там Collections.reverse / addAll ... etc.
Статику стоит отделять от основной логики и от объектного кода,
в отдельные классы, то есть какие нибудь литералы,
реализации какой то доп логики(помогающей основной)... и т.п,
а потом просто вызывать через класс, но стараться не злоупотреблять.
+1
Денис Java Developer
17 марта, 16:59
Никакого отношения к стилю программирования или инструкциям статика не имеет.
Это просто нечто общее для класса существующее в единственном экземпляре и не требующее инстанса для своей работы. Как следствие - значение статической переменной единое для всех кто с ним работает. Если ты меняешь ее в одном месте, в другом ты уже прочитаешь новое значение.
Статическому методу не нужен экземпляр класса для работы, но соответственно из него ты не можешь обращаться к нестатическим элементам класса - утилитарный метод один из сценариев, ему передаётся некий набор аргументов с ним метод и работает в основном.
Всякие фабрики, билдеры, геттеры для синглтонов так же прекрасные примеры статических методов.
Константные переменные это еще один пример статики. Например System.in / System.out
В общем и целом, статика просто один из инструментов языка, пользоваться ею нужно исходя из насущных потребностей и здравого смысла, как и любым другим инструментом.
+1
Денис Java Developer
16 марта, 20:44
А Крация это где? Я б объяснил, но хз куда идти.
0