ОЧЕНЬ ПОЛЕЗНАЯ табличка "Доступ статических и обычных методов и переменных"
Макс
26 уровень
Обьяснение доступа статических и обычных методов и переменных
Комментарии (16)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Backend Developer в KHAN Group Expert
12 мая 2021, 13:00
Ну мне тоже когда-то было сложно в это вникнуть, но тут таблица - явно лишнее 😊 Тот самый случай, когда понять проще, чем зазубрить.
static - существует всегда. Например, есть статический метод catCount(List<Cat> cats). Этот метод считает котов. Разумеется, он существует всегда. Ну потому что есть коты или нет, это его не волнует. Посчитать котов можно и без кота 😏
non static - а это уже существует только у объекта. Например meow(). Метод мяуканья. Мы не можем мяукнуть без кота! Поэтому этот метод может быть вызван только у объекта. Посчитать котов без кота мы можем. Мяукнуть без кота мы не можем.
Вряд ли конечно кто-то что-то тут новое узнает, ну на всякий случай :)
+8
VladimirMaster
12 мая 2021, 13:45
Женя плюсую за понятное объяснение. У меня кот не мяукает от слова вообще. С котенка. Вот пришел ко мне таким шкетом с ладошку и весом с два коробка, а теперь в рост 128 см если стоит на задних лапах и 7 кг живого веса кабан. Смысл в том, что вообще не мявкает. Все молча. Я уже по взгляду с ним переговариваюсь. Живет у меня кот уже 8 лет. До него кошка прожила 17 лет и умерла по старости.
0
Стас Пасинков Software Developer в Zipy Master
12 мая 2021, 14:38
это как в анекдоте))
У родителей сын семь лет не разговаривал. Они и свыклись с мыслью, что ребёнок родился немым.
И вот сидят они, обедают. Вдруг сын ни с того ни с сего:
— Суп пересолен.
Родители, поражённые:
— Сынок, ты разговариваешь?! А раньше-то чего молчал?
— А раньше нормально было.
ЗЫ: сори за офтоп, конечно
+3
Евгений Backend Developer в KHAN Group Expert
12 мая 2021, 16:37
Есть по-моему даже порода такая, которая не мяукает:)
0
VladimirMaster
12 мая 2021, 12:32
Непонятно, зачем поднимают старые посты. Новых путевых нет или что это?
0
Regina Support в JavaRush Moderator
13 мая 2021, 15:06
Если комментарий был полезен и информативен, то можно его вынести в отдельный пост и потом ссылаться на него в дальнейших ответах новичкам, к примеру.
0
Justinian Judge в Mega City One Master
12 мая 2021, 10:27
Обычный метод/переменная может обращаться к static/non-static методам/переменных
Статические метод/переменная не может обращаться в НЕстатическим методам/переменным своего класса.
Для того чтобы статический метод/переменная могла использовать НЕстатические методы/переменные, нужно иметь экземпляр этого объекта.:
Итого, есть статические члены класса (методы/переменные/блоки) которые обозначаются ключевым словом static
Они принадлежат классу (чертежу), и использовать мы их можем в любой момент времени, поскольку они существуют все время, пока есть наша программа.
Например для класса:
переменная String color с модификатором статик. Это значит, что создай мы одного кота или 1000, у всех котов будет одинаковый цвет - серый. Эту переменную все конкретные коты разделяют, то есть это общее свойство всех экземпляров
Если мы хотим, чтобы какая-то переменная была одинакова (общая) у всех экземпляра (обычно это константы) мы их делаем статическими
А вот переменная String name БЕЗ модификатора static, значит это переменная экземпляра (instance variable), то есть принадлежит конкретному экземпляру, и у каждого кота будет свое собственное имя.
Переменные экземпляра мы делаем те переменные, которые должны быть свои у каждого объекта, его отличительные особенности
Методы принято делать НЕстатическими, но для ряда случаев, например утильные классы, Arrays.sort они могут быть static +1
fog
12 мая 2021, 10:24
Таблица Капитана Очевидность.
+1
Natalia
20 марта 2020, 20:24
Таблица элементарная, казалось бы, но пока её не нашла не могла решить "минимальное число статиков"
0
13Black
2 апреля 2019, 09:56
ну тогда я был того же уровня. И своим комментарием просто резюмировал таблицу
0
Dimas
2 апреля 2019, 09:15
для понимания что static обращается только к static, а обычный куда хочет, нужна таблица?
тебе, как ученику 28 уровня таблица может и не нужна, наверное и без таблицы умножения обходишься! нам, первоклашкам, визуально и главное, очень доходчиво, стало понятнее. Перестаньте кидать понты о своей грамотности!
+2
Бейбарыс
3 января 2019, 15:24
спасибо большое, решил задачу с количеством статиков, благодаря вашей таблице
+1
OlegZ
22 декабря 2018, 21:54
Теперь нет ;)
+2
МаксExpert
17 декабря 2018, 08:36
мне - да )
0