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. Компилятор такой код не поймет и компилировать его не будет.

Комментарии (134)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Anonymous #3585174 Уровень 33
9 июля 2025
like
Blake555 Уровень 39
29 мая 2025
protected работает так же, как и private, но еще разрешает обращаться к методу/переменной/классу из классов-наследников. Преимущества этого модификатора станут вам более понятны, когда вы хорошо разберетесь с ООП и наследованием. Э-э-э.... наверное, не как private, а как package-private (то есть модификатор по умолчанию)?
I'll kick them all Уровень 5
27 июля 2025
Стоит отметить, что таким образом к protected-полю/методу можно обращаться из любого другого класса внутри пакета. Protected шире package-private а не private.
4 апреля 2025
Собеседующий: джава раш? Претендент: 15 уровень Собеседующий: Перечислите все ключевые слова джава в алфавитном порядке Претендент: *встает и уходит*
Riga Уровень 25
2 апреля 2025
буквально в прошлой лекции переменную вместо cause назвал case, и думал что не так с ней) и тут сразу же эта лекция)
ShadyLine Уровень 32
20 марта 2025
Полезная лекция, повышает взгляд на Java
10 февраля 2025
Полезная памятка
Rustam Уровень 3 Student
4 октября 2024
Легкая лекция, чтобы маленько разгрузить мозг и повторить изученное 👍
Serge Menko Уровень 58
28 августа 2024
Интересная статья 😀
TeaCaptain Уровень 23
26 августа 2024
Эх а вот бы goto...
Nazadain Уровень 39
22 октября 2024
Наоборот хорошо, что нет goto, иначе некоторые бы им явно злоупотребляли и код было бы невозможно прочесть.
Дмитрий Уровень 20
31 июля 2024
Жалко что нельзя зазубрить эти слова и стать ява разработчиком(
Wren Уровень 29
12 августа 2024
Не стоит зубрить то, что можно загуглить!
Anemon Уровень 13 Expert
22 августа 2024
Не стоит гуглить то, что можно зазубрить!
Wren Уровень 29
23 августа 2024
Мне видится, что лучше все же не зубрить, а применять на практике. Сначала гуглить, постоянно держать API открытой, и использовать штуки. Со временем само запомнится.
Anemon Уровень 13 Expert
25 октября 2024
Просто щутка.