Перейти к основному содержимому

5.03. Ключевые слова в Java

Разработчику Архитектору

Ключевые слова в Java

Основные ключевые слова

Ключевое словоЗначениеПример
abstractОпределяет абстрактный класс или метод, который не имеет реализации и должен быть переопределен в подклассеabstract class Animal { abstract void sound(); }
assertПроверяет утверждение во время выполнения программы, вызывает исключение если утверждение ложноassert x > 0 : "x должно быть положительным";
booleanПримитивный тип данных для логических значений true или falseboolean isActive = true;
breakПрерывает выполнение цикла или оператора switchfor(int i=0; i<10; i++) { if(i==5) break; }
byteПримитивный тип данных для целых чисел размером 8 бит со значениями от -128 до 127byte age = 25;
caseОпределяет метку для одного из возможных значений в операторе switchswitch(day) { case 1: System.out.println("Понедельник"); break; }
catchОбрабатывает исключение, перехваченное блоком trytry { riskyCode(); } catch (IOException e) { e.printStackTrace(); }
charПримитивный тип данных для одиночного символа в кодировке Unicodechar letter = 'A';
classОбъявляет новый классclass Person { String name; }
continueПропускает текущую итерацию цикла и переходит к следующейfor(int i=0; i<10; i++) { if(i%2==0) continue; System.out.println(i); }
defaultОпределяет блок кода по умолчанию в операторе switch или метод по умолчанию в интерфейсеswitch(x) { case 1: break; default: System.out.println("Другое значение"); }
doНачинает цикл do-while, который выполняется хотя бы один разdo { System.out.println("Работает"); } while(condition);
doubleПримитивный тип данных для чисел с плавающей точкой двойной точности (64 бита)double price = 19.99;
elseОпределяет блок кода, выполняемый если условие if ложноif(x>0) { positive(); } else { negative(); }
enumОбъявляет перечисление с фиксированным набором константenum Day { MONDAY, TUESDAY, WEDNESDAY }
extendsУказывает что класс наследует другой класс или интерфейс наследует другой интерфейсclass Dog extends Animal { }
finalДелает переменную константой, метод не переопределяемым или класс не наследуемымfinal int MAX_VALUE = 100;
finallyОпределяет блок кода, который выполняется после блока try независимо от исключенийtry { work(); } catch(Exception e) { } finally { cleanup(); }
floatПримитивный тип данных для чисел с плавающей точкой одинарной точности (32 бита)float temperature = 36.6f;
forСоздает цикл с инициализацией, условием и итерациейfor(int i=0; i<10; i++) { System.out.println(i); }
ifВыполняет блок кода если условие истинноif(age >= 18) { System.out.println("Совершеннолетний"); }
implementsУказывает что класс реализует один или несколько интерфейсовclass Car implements Vehicle { }
importПодключает классы или пакеты из других модулейimport java.util.ArrayList;
instanceofПроверяет принадлежность объекта к определенному типу или классуif(obj instanceof String) { System.out.println("Это строка"); }
intПримитивный тип данных для целых чисел размером 32 битаint count = 42;
interfaceОбъявляет интерфейс с абстрактными методамиinterface Drawable { void draw(); }
longПримитивный тип данных для целых чисел размером 64 битаlong bigNumber = 123456789012345L;
nativeУказывает что метод реализован в нативном коде (например, C/C++)native void systemCall();
newСоздает новый экземпляр класса или массивPerson p = new Person(); int[] arr = new int[10];
packageОбъявляет пакет для организации классовpackage com.example.myapp;
privateОграничивает доступ к члену класса только внутри этого классаprivate String secret;
protectedРазрешает доступ к члену класса внутри пакета и в подклассахprotected int value;
publicДелает член класса доступным из любого местаpublic class MyClass { }
returnВозвращает значение из метода и завершает его выполнениеint add(int a, int b) { return a + b; }
shortПримитивный тип данных для целых чисел размером 16 битshort port = 8080;
staticДелает переменную или метод принадлежащим классу, а не экземпляруstatic int counter = 0;
strictfpОбеспечивает одинаковые результаты вычислений с плавающей точкой на всех платформахstrictfp class Calculator { }
superСсылается на родительский класс или вызывает конструктор родительского классаsuper(); super.method();
switchВыбирает один из нескольких блоков кода на основе значения выраженияswitch(status) { case 1: active(); break; case 2: inactive(); break; }
synchronizedОбеспечивает синхронизированный доступ к методу или блоку кода в многопоточной средеsynchronized void update() { }
thisСсылается на текущий экземпляр классаthis.name = name;
throwГенерирует исключение вручнуюthrow new IllegalArgumentException("Неверный аргумент");
throwsОбъявляет какие исключения может выбросить методvoid readFile() throws IOException { }
transientИсключает переменную из процесса сериализацииtransient String password;
tryОпределяет блок кода, в котором могут возникнуть исключенияtry { riskyOperation(); } catch(Exception e) { }
voidУказывает что метод не возвращает значениеvoid printMessage() { System.out.println("Привет"); }
volatileГарантирует видимость изменений переменной между потокамиvolatile boolean flag = false;
whileСоздает цикл, который выполняется пока условие истинноwhile(x < 10) { x++; }

Контекстные ключевые слова

Ключевое словоЗначениеПример
varПозволяет компилятору выводить тип переменной автоматическиvar list = new ArrayList<String>();
recordОбъявляет класс-запись для хранения неизменяемых данныхrecord Point(int x, int y) { }
sealedОграничивает какие классы могут наследовать данный классsealed class Shape permits Circle, Square { }
permitsУказывает разрешенные подклассы для sealed классаsealed class Shape permits Circle, Square { }
yieldВозвращает значение из выражения switchint result = switch(x) { case 1 -> yield 10; case 2 -> yield 20; };
moduleОбъявляет модуль в системе модулей Javamodule com.example.app { requires java.base; }
requiresУказывает зависимости модуляmodule myapp { requires java.sql; }
exportsЭкспортирует пакет для использования другими модулямиmodule myapp { exports com.example.api; }
opensОткрывает пакет для рефлексии другими модулямиmodule myapp { opens com.example.internal; }
usesУказывает сервис, который использует модульmodule myapp { uses com.example.Logger; }
providesУказывает реализацию сервиса, предоставляемую модулемmodule myapp { provides Logger with FileLogger; }
toУказывает целевой модуль при экспорте или открытииexports com.example.api to com.client.app;
withУказывает класс реализации при предоставлении сервисаprovides Logger with ConsoleLogger;
openОткрывает весь модуль для рефлексииopen module myapp { }
transitiveДелает зависимость транзитивной для модулей, использующих текущий модульrequires transitive java.sql;

Зарезервированные, но неиспользуемые слова

Ключевое словоЗначениеПример
constЗарезервировано для будущего использования, но не применяетсяНедоступно для использования
gotoЗарезервировано для будущего использования, но не применяетсяНедоступно для использования

Это полный справочник всех ключевых слов языка Java, включая основные, контекстные и зарезервированные слова.