JavaRush /Курсы /Java Syntax Pro /Зарезервированные слова в Java

Зарезервированные слова в Java

Java Syntax Pro
14 уровень , 4 лекция
Открыта

1. Список слов

В языке Java, как и в любом языке программирования, есть слова, которые имеют особый смысл. Например, return или if или while. Такие слова называются ключевыми (keywords) и считаются зарезервированными языком Java.

Вы не можете использовать эти слова в качестве имени переменной, имени метода или класса. Компилятор всегда будет интерпретировать их строго определенным образом. Всего в Java таких слов 54.

abstract
assert
boolean
break
byte
case
catch
char
class
const
continue
default
do
double
else
enum
extends
final
finally
float
for
goto
if
implements
import
instanceof
int
interface
long
native
new
package
private
protected
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
var
true
null
false

Некоторые из них вы уже знаете, а об остальных мы сейчас поговорим.


2. Примитивные типы

Как вы уже, скорее всего, запомнили, в Java есть 8 примитивных типов, и каждому из них соответствует свое ключевое слово:

  • byte
  • short
  • int
  • long
  • char
  • float
  • double
  • boolean
  • void

Если вы достаточно любознательны, скорее всего, уже пробовали назвать переменную именем int. И конечно же, это у вас не получилось. Именно по причине того, что все имена примитивных типов являются зарезервированными словами.

Также в эту категорию можно отнести тип void.


3. Циклы и ветвления

Циклы и ветвления тоже дают нам немаленький список ключевых слов:

  • if
  • else
  • switch
  • case
  • default
  • while
  • do
  • for
  • break
  • continue

Всего 10 слов достаточно, чтобы в языке появились циклы нескольких видов, ветвления, операторы управления прерыванием цикла (break и continue) и множественные ветвления (switch). Со всеми этими ключевыми словами вы уже знакомы.


4. Исключения

Исключения дают нам 5 ключевых слов:

  • try
  • catch
  • finally
  • throw
  • throws

Это блок try-catch-finally. Оператор для выбрасывания исключений — throw, и ключевое слово throws для поддержки механизма checked-исключений.

Хорошая новость: вы уже знакомы со всеми ключевыми словами в исключениях, поэтому большую часть работы с исключениями вы уже знаете.


5. Области видимости

Всего три ключевых слова, но вы уже с ними знакомы

  • private
  • protected
  • public

public разрешает доступ к методу/переменной/классу из любого места программы.

private запрещает доступ к методу/переменной/классу из любого места программы. Доступ разрешен только внутри того же класса, что и метод, помеченный модификатором private.

protected работает так же, как и private, но еще разрешает обращаться к методу/переменной/классу из классов-наследников. Преимущества этого модификатора станут вам более понятны, когда вы хорошо разберетесь с ООП и наследованием.


6. Работа с классами

В эту категорию входит 11 ключевых слов:

  • class
  • interface
  • enum
  • import
  • package
  • extends
  • implements
  • static
  • final
  • abstract
  • default

Их можно разделить на 4 группы.

Первая группа — создание классов: class, interface и enum. С объявлением class’а и enum’а вы уже познакомились. Ключевое слово interface используется для объявления еще одной «разновидности классов» – интерфейсов.

Вторая группа — это уже известные вам ключевые слова package и import. Package используется для того, чтобы описать пакет класса внутри файла класса. А import — чтобы в нашем классе мы могли использовать короткие имена чужих классов.

Ключевые слова extends и implements используются для описания наследования. Их вы рассмотрите в самом начале квеста Java Core.

И наконец, последняя группа — это модификаторы static, final, default и abstract. Про static и final вы уже немного знаете, а ключевое слово abstract используется для того, чтобы сделать класс или метод абстрактным. Детальнее — при изучении наследования в квесте Java Core.


7. Работа с объектами и переменными

Еще 6 ключевых слов используются для работы с объектами, методами и переменными.

  • new
  • instanceof
  • this
  • super
  • return
  • var (начиная с Java 10)

Оператор new используется, чтобы создавать новые объекты — это вы уже знаете.

Оператор instanceof используется, чтобы проверить, что определенная переменная содержит ссылку на объект определенного типа. С ним вы уже тоже знакомы.

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

Ключевое слово super — это аналог this, только при обращении к методам и переменным класса-родителя. Класс родитель еще называют суперклассом.

Оператор return используется, чтобы вернуть значение функции, и попутно эту самую функцию завершить.

И наконец, var — это объявление переменной с автовыведением типа. Вы тоже с этим уже знакомы.


8. Многопоточность

Многопоточность на уровне синтаксиса языка Java представлена всего двумя словами.

  • synchronized
  • volatile

Мы их даже разбирать не будем. Вот доберетесь до квеста Java Multithreading — тогда и начнем.


9. Разное

Так же есть еще 4 уникальных ключевых слова:

  • native
  • transient
  • assert
  • strictfp

native — это модификатор, который пишется перед объявлением метода. Он означает, что код метода написан не на Java, а на С++ и встроен в Java-машину (ну или подключаемую DLL-библиотеку). Сама Java-машина, как вы уже, наверное, догадываетесь, тоже написана на C++. Как и многие методы стандартных библиотек.

transient — это модификатор, который пишется перед переменными класса (полями класса). Он просит Java-машину пропустить (игнорировать) переменную при сохранении объекта класса — сериализации. Больше о сериализации вы узнаете в квесте Java Collections.

assert — тоже пришел в наследство от C++. С его помощью в код можно добавить дополнительные проверки (на то, что переменная не равна null, например). Штука в том, что он включается или выключается на этапе компиляции.

Можно собрать проект для внутреннего тестирования, где эти проверки будут осуществляться (включены). А можно их и выключить при компиляции: когда компилируете версию программы, которая будет поставляться пользователям.

Ну а про модификатор strictfp и дополнительную точность процессоров Intel мы даже целую историю рассказывали.


10. Зарезервированы, но не используются

Еще есть два ключевых слова, которые зарезервированы, но не используются.

  • const
  • goto

Это тоже наследие языка C++, где они есть и используются.


11. Не ключевые слова

Константы true, false и null формально не относятся к ключевым словам. Однако, обладают всеми их особенностями. Вы не можете назвать метод true или переменную false. Компилятор такой код не поймет и компилировать его не будет.

Комментарии (137)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Alex Уровень 17
30 июня 2026
Прочел лекцию, понял что все это проходил и будто бы много что уже "знаю". Но ощущение, что знания эти максимально поверхностны и легко могут улетучиться (к примеру super - концепцию помню, а как конкретно писать код с использованием этого оператора в конструкторах уже подзабыл). Как думаете, это норм или хреново учусь просто ахахах?
Grigoryvvv Уровень 17 Expert
18 марта 2026
19.03.2026 / 15 уровень
Rei Уровень 32
30 января 2026

Также в эту категорию можно отнести тип void.
Странно отнести void к категории примитивных типов - вносит путаницу. ИМХО лучше для ясности перефразировать и разграничить корректно Примитивные типы + ключевое слово void (так как это ключевое слово для "отсутствия значения" (возврата) и не имеет отношения к примитивам).
Anonymous #3585174 Уровень 33
9 июля 2025
like
Blake555 Уровень 32
29 мая 2025
protected работает так же, как и private, но еще разрешает обращаться к методу/переменной/классу из классов-наследников. Преимущества этого модификатора станут вам более понятны, когда вы хорошо разберетесь с ООП и наследованием. Э-э-э.... наверное, не как private, а как package-private (то есть модификатор по умолчанию)?
I'll kick them all Уровень 5
27 июля 2025
Стоит отметить, что таким образом к protected-полю/методу можно обращаться из любого другого класса внутри пакета. Protected шире package-private а не private.
4 апреля 2025
Собеседующий: джава раш? Претендент: 15 уровень Собеседующий: Перечислите все ключевые слова джава в алфавитном порядке Претендент: *встает и уходит*
Riga Уровень 37
2 апреля 2025
буквально в прошлой лекции переменную вместо cause назвал case, и думал что не так с ней) и тут сразу же эта лекция)
ShadyLine Уровень 51
20 марта 2025
Полезная лекция, повышает взгляд на Java
10 февраля 2025
Полезная памятка
Rustam Уровень 3 Student
4 октября 2024
Легкая лекция, чтобы маленько разгрузить мозг и повторить изученное 👍