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

Ключевые слова в 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: основные, контекстные и зарезервированные.