Модификаторы в Java

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

модификаторы доступа_vertex

Данная статья:

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего "Самоучителя по Java"

Что такое "модификаторы"

Модификаторы ( modifiers) -  от англ. слова "modify", которое переводится как "изменять", "регулировать". Таким образом, модификаторы  -  это такие ключевые слова языка Java, которые как-то "изменяют и регулируют" работу классов, методов и переменных.

Вообще, все модификаторы делятся на 2 группы:

1. модификаторы доступа (Access Modifiers)

2. другие модификаторы (Non-Access Modifiers).

Ниже приводим Вам в помощь картинку. Как видите, "другие модификаторы" (Non-Access Modifiers) - это модификаторы классов, полей, методов, интерфейсов и другое.

модификаторы доступа_vertex

Одним словом, модификаторы в Java - тема очень обширная. Поэтому теме модификаторов мы посвятим не одну, а сразу несколько статей. Но сейчас, обратите внимание на модификаторы доступа, выделенные в отдельный класс - это необходимо для лучшего понимания темы ООП.

Модификаторы доступа

Итак, Вы уже поняли, что модификаторам доступа отводится особое место среди собратьев. В чем же их функция? Модификаторы доступа помогают Вам регулировать кто может видеть элементы Вашего кода и кто может их менять. Грубо говоря, "система сигнализации" 🙂 На картинке ниже видно, что существует 4 типа модификаторов доступа.

 

Модификатор public говорит о том, что метод (или класс) "виден отовсюду" , то есть к нему можно обращаться из любой части программы.

Если ничего не указывать, тогда будет стоять видимость по умолчанию - т.е. default. Как видно по картинке, по умолчанию Ваш код видно в границах пакета - "package visible". Это означает, что если Вы обратитесь к такому классу или методу не из его package, то ответа не получите 🙂

Protected - с англ. "защищенный" - это видимость в границах пакета и видимость для классов-наследников. Можно сказать, что protected = default + наследование.

Модификатор private обеспечивает видимость только в границах класса. Таким образом, можно визуально представить это так:

Зачем?

Ограничение доступа к определенным элементам кода - важная часть защиты программы, то есть такого принципа ООП, как инкапсуляция (если Вы не читали статью про ООП, можете найти ее тут). Кроме того, Вы уже наверняка использовали модификатор public - с самой первой Вашей программы. Например:

Видите - public static void main. То есть в "самом главном методе" тоже используется модификатор доступа - public - который означает, что содержание main "видно отовсюду". И это понятно - ведь не может же метод, который запускает всю программу, быть приватным? Тогда весь код попросту не будет выполняться.

А в одной из прошлых статей по ООП, Вы использовали модификатор private для создания геттеров и сеттеров (ссылка на статью):

Как Вы видите, эти модификаторы доступа Вы уже непроизвольно использовали. Теперь, Вы сможете применять их чаще и лучше 🙂

Как использовать

Вы выше уже увидели, что модификаторы доступа применяются и к полям (т.е. переменным) - в геттерах, и к методам - например, к main. Итак, чтобы использовать модификаторы, необходимо знать следующее:

1) Пишутся в самом начале (перед всем-всем-всем другим 🙂 ). Безопасность, так сказать, на первом месте 🙂

2) Все четыре модификатора применяются к методам и полям.

3) К классам могут применяться все четыре модификатора только если они вложенные. В противном случае, применим только public и default.

Итого

Поздравляем, теперь Вы знаете, какие существуют типы модификаторов доступа! Один шаг вперед 😉

Вот Вам напоминание на будущее:

И мы ждем Вас на следующих уроках!


Статья написана Vertex Academy. Будем рады видеть Вас на наших курсах Java с нуля.

модификаторы доступа_vertex

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr
Самоучители--узнать детальнее--