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

Java #Java

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

[package]

public

protected

private

Модификаторы класса

abstract

final

static

Модификаторы методов

abstract - метод с модификатором abstract может быть объявлен как метод-член (member method) в пределах абстрактного класса (или интерфейса). В этом случае тело метода отсутствует, а реализация может быть предоставлена в классах-наследниках. Если же метод объявлен как абстрактный в конкретном классе, то получим ошибку компиляции.

final - метод, объявленный с модификатором final не может быть переопределен в наследниках.

static - метод с модификатором static относится к классу в целом, а не к его экземплярам, то есть в него не передается объект this. Такой метод может быть вызван используя имя класса.

native - модификатор native перед объявлением метода указывает, что он явялется специфическим для операционной системы. Как и у абстрактного метода, у него тоже нет тела, а реализация находится в скомпилированном виде в файлах JVM.

synchronized - модификатор synchronized у метода говорит о том, что перед его выполнением должен быть захвачен монитор объекта (для нестатического метода), либо монитор, связанный с классом (для статического метода).

Модификаторы свойств

final

static

transient - модификатор transient используется для указания того, что во время сериализации объекта некоторое поле нужно игнорировать.

volatile - в Java потоки могут хранить значения некоторых переменных в некотором своем локальном контексте. Если один поток изменит значение такого поля, то другой поток может об этом не узнать (так как хранит копию). Для полей с модификатором volatile есть гарантия, что все потоки всегда будут видеть актуальное значение такой переменной.

Оценка статьи 0

Комментарии

Пока комментариев нет.