Список ключевых слов Java

В языке программирования Java ключевым словом является любое из 68 зарезервированных слов. [1] которые имеют заранее определенное значение в языке. Из-за этого программисты не могут использовать ключевые слова в некоторых контекстах, например, в качестве имен переменных , методов , классов или в качестве любого другого идентификатора . [2] Из этих 68 ключевых слов 17 зарезервированы только контекстно и иногда могут использоваться в качестве идентификатора, в отличие от стандартных зарезервированных слов. Из-за своих особых функций в языке большинство интегрированных сред разработки для Java используют подсветку синтаксиса для отображения ключевых слов другим цветом для облегчения идентификации.
Список ключевых слов Java
[ редактировать ]_
- Добавленное в Java 9 подчеркивание стало ключевым словом и больше не может использоваться в качестве имени переменной. [3]
abstract
- Метод без определения должен быть объявлен как абстрактный, а содержащий его класс должен быть объявлен как абстрактный. Абстрактные классы не могут быть созданы. Абстрактные методы должны быть реализованы в подклассах. Ключевое слово абстрактное нельзя использовать с переменными или конструкторами. Обратите внимание, что абстрактный класс вообще не обязан иметь абстрактный метод.
assert
(добавлено в J2SE 1.4 ) [4]- Assert описывает предикат (утверждение «истина-ложь»), помещенный в программу Java, чтобы указать, что разработчик считает, что в этом месте предикат всегда истинен. Если во время выполнения утверждение оценивается как ложное, происходит сбой утверждения, что обычно приводит к прерыванию выполнения. По умолчанию утверждения отключены во время выполнения, но их можно включить с помощью параметра командной строки или программно с помощью метода загрузчика классов.
boolean
- Определяет логическую переменную только для значений «истина» или «ложь». По умолчанию значение логического примитивного типа равно false. Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.
boolean
.
break
- Используется для завершения выполнения в текущем теле цикла.
- Используется, чтобы вырваться из
switch
блокировать.
byte
- The
byte
Ключевое слово используется для объявления поля, которое может содержать 8-битное целое число со знаком, дополненное до двух. [5] [6] Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.byte
. [7] [8]
case
- Заявление в
switch
блок может быть помечен одним или несколькимиcase
илиdefault
этикетки.switch
оператор оценивает свое выражение, затем выполняет все операторы, следующие за соответствующим выражениемcase
этикетка; видетьswitch
. [9] [10]
catch
- Используется совместно с
try
блок и опциональноfinally
блокировать. Заявления вcatch
блок определяет, что делать, если блок выдает исключение определенного типа.try
блокировать.
char
- Определяет символьную переменную, способную хранить любой символ из набора символов исходного файла Java.
class
- Тип, определяющий реализацию объекта определенного типа. Определение класса определяет экземпляра и класса поля , методы и внутренние классы , а также определяет интерфейсы, которые реализует класс, и непосредственный суперкласс класса. Если суперкласс не указан явно, суперкласс указывается неявно.
Object
. Ключевое слово class также можно использовать в форме Class.class для получения объекта Class без необходимости использования экземпляра этого класса. Например, можно использовать String.class вместо выполнения new String().getClass() () .
continue
- Используется для возобновления выполнения программы в конце тела текущего цикла. Если за ним следует метка,
continue
возобновляет выполнение в конце помеченного тела цикла.
default
- The
default
Ключевое слово может опционально использоваться в операторе переключения для обозначения блока операторов, который будет выполнен, если нетcase
соответствует указанному значению; видетьswitch
. [9] [10] Альтернативно,default
Ключевое слово также можно использовать для объявления значений по умолчанию в аннотации Java . Начиная с Java 8,default
Ключевое слово можно использовать, чтобы позволить интерфейсу обеспечить реализацию метода.
do
- The
do
Ключевое слово используется вместе сwhile
создать цикл do- while , который выполняет блок операторов, связанных с циклом, а затем проверяет логическое выражение, связанное сwhile
. Если выражение оценивается какtrue
, блок выполняется снова; это продолжается до тех пор, пока выражение не примет значениеfalse
. [11] [12]
double
- The
double
Ключевое слово используется для объявления переменной, которая может содержать 64-битное двойной точности IEEE 754 число с плавающей запятой . [5] [6] Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.double
. [7] [8]
else
- The
else
Ключевое слово используется вместе сif
создать оператор if-else , который проверяет логическое выражение ; если выражение оценивается какtrue
, блок операторов, связанный сif
оцениваются; если он оценивается какfalse
, блок операторов, связанный сelse
оцениваются. [13] [14]
enum
(добавлено в J2SE 5.0 ) [4]- Ключевое слово Java, используемое для объявления перечислимого типа . Перечисления расширяют базовый класс
Enum
.
extends
- Используется в объявлении класса для указания суперкласса; используется в объявлении интерфейса для указания одного или нескольких суперинтерфейсов. Класс X расширяет класс Y для добавления функциональности либо путем добавления полей или методов в класс Y, либо путем переопределения методов класса Y. Интерфейс Z расширяет один или несколько интерфейсов путем добавления методов. Говорят, что класс X является подклассом класса Y; Говорят, что интерфейс Z является подинтерфейсом интерфейсов, которые он расширяет.
- Также используется для указания верхней границы параметра типа в Generics.
final
- Определите сущность один раз, которую нельзя будет изменить или получить из нее позже. Более конкретно: конечный класс не может быть подклассом, конечный метод не может быть переопределен, а конечная переменная может встречаться не более одного раза как левое выражение в выполняемой команде. Все методы в конечном классе неявно
final
.
finally
- Используется для определения блока операторов для блока, определенного ранее
try
ключевое слово.finally
блок выполняется после завершения выполненияtry
блок и все связанные с нимcatch
предложений независимо от того, было ли исключение или перехвачено, или выполнение оставило метод в серединеtry
илиcatch
блоки с помощьюreturn
ключевое слово.
float
- The
float
Ключевое слово используется для объявления переменной, которая может содержать 32-битное одинарной точности IEEE 754. число с плавающей запятой [5] [6] Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.float
. [7] [8]
for
- The
for
Ключевое слово используется для создания цикла for , который определяет инициализацию переменной, логическое выражение и приращение. Сначала выполняется инициализация переменной, а затем вычисляется логическое выражение. Если выражение оценивается какtrue
, выполняется блок операторов, связанный с циклом, а затем выполняется приращение. Затем логическое выражение оценивается снова; это продолжается до тех пор, пока выражение не примет значениеfalse
. [15]
- Начиная с J2SE 5.0 ,
for
Ключевое слово также можно использовать для создания так называемого « расширенного цикла for », [16] который определяет массив илиIterable
объект; каждая итерация цикла выполняет соответствующий блок операторов, используя другой элемент массива илиIterable
. [15]
if
- The
if
Ключевое слово используется для создания оператора if , который проверяет логическое выражение ; если выражение оценивается какtrue
, выполняется блок операторов, связанный с оператором if. Это ключевое слово также можно использовать для создания оператора if-else ; видетьelse
. [13] [14]
implements
- Включен в объявление класса для указания одного или нескольких интерфейсов , реализуемых текущим классом. Класс наследует типы и абстрактные методы, объявленные интерфейсами.
import
- Используется в начале исходного файла для указания классов или целых пакетов Java , к которым необходимо обращаться позже, без включения в ссылку имен их пакетов. Начиная с J2SE 5.0,
import
заявления могут импортироватьstatic
члены класса.
instanceof
- Бинарный оператор , который принимает ссылку на объект в качестве первого операнда и класс или интерфейс в качестве второго операнда и выдает логический результат.
instanceof
Оператор оценивается как true тогда и только тогда, когда тип времени выполнения объекта совместим по назначению с классом или интерфейсом.
int
- The
int
Ключевое слово используется для объявления переменной, которая может содержать 32-битное целое число со знаком, дополненное до двух. [5] [6] Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.int
. [7] [8]
interface
- Используется для объявления специального типа класса, который содержит только абстрактные методы или методы по умолчанию, константу (
static final
) поля иstatic
интерфейсы. Позже это может быть реализовано с помощью классов, которые объявляют интерфейс сimplements
ключевое слово. Поскольку в Java не допускается множественное наследование , для его обхода используются интерфейсы. Интерфейс может быть определен внутри другого интерфейса.
long
- The
long
Ключевое слово используется для объявления переменной, которая может содержать 64-битное целое число со знаком, дополненное до двух. [5] [6] Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.long
. [7] [8]
native
- Используется в объявлениях методов, чтобы указать, что метод реализован не в том же исходном файле Java, а на другом языке. [8]
new
- Используется для создания экземпляра объекта класса или массива. Использование ключевого слова для этой цели не является абсолютно необходимым (как показано на Scala ), хотя оно служит двум целям: оно обеспечивает существование разных пространств имен для методов и имен классов, оно определяет статически и локально, что действительно создается новый объект, и какой это тип среды выполнения (возможно, внесение зависимости в код).
package
- Пакет Java представляет собой группу схожих классов и интерфейсов. Пакеты объявляются с помощью
package
ключевое слово.
private
- The
private
Ключевое слово используется в объявлении метода, поля или внутреннего класса; Доступ к частным членам могут получить только другие члены их собственного класса. [17]
protected
- The
protected
Ключевое слово используется в объявлении метода, поля или внутреннего класса; Доступ к защищенным членам могут получить только члены их собственного класса, подклассов этого класса или классов из того же пакета . [17]
public
- The
public
ключевое слово используется в объявлении класса, метода или поля; открытые классы, методы и поля могут быть доступны членам любого класса. [17]
return
- Используется для завершения выполнения метода. За ним может следовать значение, требуемое определением метода, которое возвращается вызывающей стороне.
short
- The
short
Ключевое слово используется для объявления поля, которое может содержать 16-битное целое число со знаком, дополненное до двух. [5] [6] Это ключевое слово также используется для объявления того, что метод возвращает значение примитивного типа.short
. [7] [8]
static
- Используется для объявления поля, метода или внутреннего класса как поля класса. Классы поддерживают одну копию полей класса независимо от того, сколько экземпляров этого класса существует.
static
также используется для определения метода как метода класса. Методы класса привязаны к классу, а не к конкретному экземпляру, и могут работать только с полями класса. Классы и интерфейсы, объявленные какstatic
члены другого класса или интерфейса являются поведенчески классами верхнего уровня. [18]
super
- Наследование в основном используется для достижения динамического связывания или полиморфизма во время выполнения в Java. Используется для доступа к членам класса, унаследованного классом, в котором он присутствует. Позволяет подклассу получать доступ к переопределенным методам и скрытым членам своего суперкласса.
super
Ключевое слово также используется для пересылки вызова от конструктора к конструктору суперкласса. - Также используется для указания нижней границы параметра типа в Generics.
switch
- The
switch
Ключевое слово используется вместе сcase
иdefault
создать оператор переключения , который оценивает переменную, сопоставляет ее значение с определеннымcase
и выполняет блок операторов, связанных с этимcase
. Если нетcase
соответствует значению, дополнительный блок, помеченныйdefault
выполняется, если он включен. [9] [10]
synchronized
- Используется в объявлении метода или блока кода для получения блокировки мьютекса для объекта, пока текущий поток выполняет код. [8] Для статических методов заблокированный объект — это объект класса.
Class
. Гарантирует, что не более одного потока, работающего с одним и тем же объектом, выполняет этот код. Блокировка мьютекса автоматически снимается при выходе из синхронизированного кода. Поля, классы и интерфейсы не могут быть объявлены как синхронизированные .
this
- Используется для представления экземпляра класса, в котором он появляется.
this
может использоваться для доступа к членам класса и в качестве ссылки на текущий экземпляр.this
Ключевое слово также используется для перенаправления вызова от одного конструктора класса к другому конструктору того же класса.
throw
- Вызывает создание объявленного экземпляра исключения. Это приводит к продолжению выполнения с первым обработчиком исключений, объявленным
catch
ключевое слово для обработки типа исключения, совместимого с назначением. Если такой обработчик исключений не найден в текущем методе, метод возвращается, и процесс повторяется в вызывающем методе. Если ни в одном вызове метода в стеке не найден обработчик исключений, то исключение передается обработчику неперехваченных исключений потока.
throws
- Используется в объявлениях методов, чтобы указать, какие исключения не обрабатываются внутри метода, а передаются на следующий более высокий уровень программы. Все неперехваченные исключения в методе, которые не являются экземплярами
RuntimeException
должен быть объявлен с использованиемthrows
ключевое слово.
transient
- Объявляет, что поле экземпляра не является частью сериализованной формы объекта по умолчанию. Когда объект сериализуется, в серийное представление по умолчанию включаются только значения его непереходных полей экземпляра. Когда объект десериализуется, временные поля инициализируются только значениями по умолчанию. Если форма по умолчанию не используется, например, когда таблица SerialPersistentFields объявлена в иерархии классов, все
transient
ключевые слова игнорируются. [19] [20]
try
- Определяет блок операторов, имеющих обработку исключений. Если исключение генерируется внутри
try
блок, опциональноcatch
блок может обрабатывать объявленные типы исключений. Кроме того, необязательноfinally
может быть объявлен блок, который будет выполняться при выходе из выполненияtry
блокировать иcatch
предложений, независимо от того, создано исключение или нет. Аtry
блок должен иметь хотя бы одинcatch
пункт илиfinally
блокировать.
void
- The
void
Ключевое слово используется для объявления того, что метод не возвращает никакого значения. [7]
volatile
- Используется в объявлениях полей, чтобы гарантировать видимость изменений переменных в потоках. Каждое чтение энергозависимой переменной будет считываться из основной памяти, а не из кэша ЦП, и каждая запись в энергозависимую переменную будет записываться в основную память, а не только в кэш ЦП. [21] Таким образом, методы, классы и интерфейсы не могут быть объявлены изменчивыми , равно как и локальные переменные или параметры.
while
- The
while
Ключевое слово используется для создания цикла while , который проверяет логическое выражение и выполняет блок операторов, связанных с циклом, если выражение оценивается какtrue
; это продолжается до тех пор, пока выражение не примет значениеfalse
. Это ключевое слово также можно использовать для создания цикла do- while ; видетьdo
. [11] [12]
Зарезервированные идентификаторы
[ редактировать ]Следующие идентификаторы являются контекстными ключевыми словами и ограничены только в некоторых контекстах:
exports
module
non-sealed
- Используется для объявления того, что класс или интерфейс, расширяющий запечатанный класс, может быть расширен неизвестными классами. [22]
open
opens
permits
- В разделе разрешений указаны классы, которым разрешено расширять запечатанный класс. [22]
provides
record
requires
sealed
- Запечатанный класс или интерфейс могут быть расширены или реализованы только классами и интерфейсами, которым разрешено это делать. [22]
to
transitive
uses
var
- Специальный идентификатор, который нельзя использовать в качестве имени типа (начиная с Java 10). [23]
when
- используется в качестве дополнительной проверки
case
заявление. [24] with
yield
- Используется для установки значения для выражения переключателя при использовании помеченных групп операторов (например,
case L:
). [25]
Зарезервированные слова для буквальных значений
[ редактировать ]true
- Логическое буквальное значение.
false
- Логическое буквальное значение.
null
- Ссылочное буквальное значение.
Неиспользованный
[ редактировать ]const
- Хотя в Java оно зарезервировано как ключевое слово,
const
не используется и не имеет никакой функции. [2] [26] Для определения констант в Java см.final
ключевое слово.
goto
- Хотя в Java оно зарезервировано как ключевое слово,
goto
не используется и не имеет никакой функции. [2] [26]
strictfp
(добавлено в J2SE 1.2 ) [4]- Хотя в Java оно зарезервировано как ключевое слово,
strictfp
устарел и больше не имеет никакой функции. [27] Ранее это ключевое слово использовалось для ограничения точности и округления вычислений с плавающей запятой для обеспечения переносимости. [8]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Платформа Java, Справочник по Java API стандартной версии» .
- ^ Jump up to: а б с «Спецификация языка Java. Раздел 3.9: Ключевые слова» . Спецификация языка Java . Оракул . 21 августа 2018 г. Проверено 25 декабря 2018 г.
- ^ «Лечение подчеркиваний» . JEP 302: Остатки лямбды .
- ^ Jump up to: а б с «Ключевые слова языка Java» . Учебники по Java . Сан Микросистемс, Инк . Проверено 24 июля 2017 г.
- ^ Jump up to: а б с д и ж «Примитивные типы данных» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 3 декабря 2008 г.
- ^ Jump up to: а б с д и ж Фланаган 2005 , с. 22.
- ^ Jump up to: а б с д и ж г «Возврат значения из метода» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 3 декабря 2008 г.
- ^ Jump up to: а б с д и ж г час я Фланаган 2005 , стр. 66–67.
- ^ Jump up to: а б с «Заявление о переключении» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 18 декабря 2014 г.
- ^ Jump up to: а б с Фланаган 2005 , стр. 46–48.
- ^ Jump up to: а б «Операторы while и do- while» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 3 декабря 2008 г.
- ^ Jump up to: а б Фланаган 2005 , стр. 48–49.
- ^ Jump up to: а б «Утверждения if-then и if-then-else» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 3 декабря 2008 г.
- ^ Jump up to: а б Фланаган 2005 , стр. 44–46.
- ^ Jump up to: а б «Для заявления» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 3 декабря 2008 г.
- ^ Фланаган 2005 , стр. 50–54.
- ^ Jump up to: а б с «Контроль доступа к членам класса» . Учебники по Java . Sun Microsystems, Inc., 14 февраля 2008 г. Проверено 3 декабря 2008 г.
- ^ https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
- ^ «Спецификация сериализации объектов Java версии 1.5.0» . Солнце/Оракул. 2004. 1.5 Определение сериализуемых полей для класса . Проверено 16 сентября 2010 г. [ постоянная мертвая ссылка ]
- ^ Гроссо, Уильям (21 ноября 2001 г.). «Java RMI: сериализация» . ONJava . О'Рейли Медиа. Объявление SerialPersistentFields . Проверено 16 сентября 2010 г.
- ^ «Изменчивое ключевое слово Java» .
- ^ Jump up to: а б с «Закрытые классы» . docs.oracle.com . Корпорация Оракл . Проверено 7 августа 2021 г.
- ^ «Глава 3. Лексическая структура» . docs.oracle.com . Проверено 25 декабря 2018 г.
- ^ «Глава 14. Блоки, операторы и шаблоны» .
- ^ «Переключение выражений» . docs.oracle.com . Корпорация Оракл . Проверено 27 декабря 2020 г.
- ^ Jump up to: а б Фланаган 2005 , с. 20.
- ^ «JEP 306: восстановить всегда строгую семантику с плавающей запятой» .
Внешние ссылки
[ редактировать ]- Гослинг, Джеймс ; Джой, Билл ; Стил, Гай ; Браха, Гилад (июнь 2005 г.). Спецификация языка Java (Третье изд.). Аддисон-Уэсли Профессионал. ISBN 978-0-321-24678-3 . Проверено 3 декабря 2008 г.
- Фланаган, Дэвид (март 2005 г.). Java в двух словах (Пятое изд.). О'Рейли Медиа . ISBN 978-0-596-00773-7 . Проверено 3 марта 2010 г.