Модификаторы
Модификаторы доступа
[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 есть гарантия, что все потоки всегда будут видеть актуальное значение такой переменной.
Комментарии
Пока комментариев нет.