Список ключевых слов Java - List of Java keywords

Фрагмент кода Java с ключевыми словами, выделенными синим жирным шрифтом.

в Язык программирования Java, а Ключевое слово любой из 52 зарезервированные слова[1] которые имеют предопределенное значение на языке; из-за этого программисты не могут использовать ключевые слова в качестве имен для переменные, методы, классы, или как любой другой идентификатор.[2] Из этих 52 ключевых слов 49 используются, 1 находится в режиме предварительного просмотра и 2 не используются. Из-за их особых функций в языке большинство интегрированные среды разработки для использования Java подсветка синтаксиса отображать ключевые слова другим цветом для облегчения идентификации.

Список

_
Знак подчеркивания, добавленный в Java 9, стал ключевым словом и больше не может использоваться в качестве имени переменной.[3]
Абстрактные
Метод без определения должен быть объявлен как абстрактный, а содержащий его класс должен быть объявлен как абстрактный. Абстрактные классы не могут быть созданы. Абстрактные методы должны быть реализованы в подклассах. Ключевое слово abstract нельзя использовать с переменными или конструкторами. Обратите внимание, что абстрактный класс не обязательно должен иметь абстрактный метод.
утверждать (добавлено в J2SE 1.4 )[4]
Assert описывает предикат (утверждение истина – ложь), помещенный в программу Java, чтобы указать, что разработчик считает, что предикат всегда истинен в этом месте. Если утверждение оценивается как ложное во время выполнения, возникает ошибка утверждения, которая обычно приводит к прерыванию выполнения. Необязательно включить с помощью метода ClassLoader.
логический
Определяет логическую переменную только для значений «истина» или «ложь». По умолчанию значение логического примитивного типа ложно. Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. логический.
перемена
Используется для завершения выполнения в теле текущего цикла.
байт
В байт ключевое слово используется для объявления поля, которое может содержать 8-битовое целое число с дополнением до двух со знаком.[5][6] Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. байт.[7][8]
дело
Заявление в выключатель блок может быть помечен одним или несколькими дело или же дефолт этикетки. В выключатель оператор оценивает свое выражение, затем выполняет все операторы, следующие за совпадающими дело метка; видеть выключатель.[9][10]
ловить
Используется вместе с пытаться блок и необязательный наконец-то блокировать. Заявления в ловить укажите, что делать, если конкретный тип исключения вызван пытаться блокировать.
char
Определяет символьную переменную, способную содержать любой символ из набора символов исходного файла java.
учебный класс
Тип, определяющий реализацию определенного типа объекта. Определение класса определяет пример и класс поля, методы, и внутренние классы а также указание интерфейсы класс реализует и немедленное суперкласс класса. Если суперкласс не указан явно, суперкласс неявно Объект. Ключевое слово class также можно использовать в форме Class.учебный класс чтобы получить объект класса без необходимости в экземпляре этого класса. Например, String.class можно использовать вместо того, чтобы делать новая строка (). getClass ().
const
Не используется, но зарезервировано.
Продолжить
Используется для возобновления выполнения программы в конце тела текущего цикла. Если за ним следует метка, Продолжить возобновляет выполнение в конце окружающего помеченного тела цикла.
дефолт
В дефолт ключевое слово может при желании использоваться в оператор переключения пометить блок операторов, который будет выполняться, если нет дело соответствует указанному значению; видеть выключатель.[9][10] В качестве альтернативы дефолт ключевое слово также можно использовать для объявления значений по умолчанию в Аннотация Java. Начиная с Java 8, дефолт ключевое слово может использоваться, чтобы позволить интерфейсу предоставлять реализацию метода.
делать
В делать ключевое слово используется вместе с пока создать цикл do-while, который выполняет блок операторов, связанных с циклом, а затем проверяет логическое выражение, связанное с пока. Если выражение оценивается как истинный, блок выполняется снова; это продолжается до тех пор, пока выражение не станет ложный.[11][12]
двойной
В двойной ключевое слово используется для объявления переменной, которая может содержать 64-битный двойная точность IEEE 754 число с плавающей запятой.[5][6] Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. двойной.[7][8]
еще
В еще ключевое слово используется вместе с если создать оператор if-else, который проверяет логическое выражение; если выражение оценивается как истинный, блок операторов, связанных с если оцениваются; если он оценивается как ложный, блок операторов, связанных с еще оцениваются.[13][14]
перечислить (добавлено в J2SE 5.0 )[4]
Ключевое слово Java, используемое для объявления перечислимый тип. Перечисления расширяют базовый класс Enum.
расширяет
Используется в объявлении класса для указания суперкласса; используется в объявлении интерфейса для определения одного или нескольких суперинтерфейсов. Класс X расширяет класс Y, добавляя функциональные возможности, либо путем добавления полей или методов к классу Y, либо путем переопределения методов класса Y. Интерфейс Z расширяет один или несколько интерфейсов путем добавления методов. Класс X называется подклассом класса Y; Интерфейс Z называется подинтерфейсом расширяемых им интерфейсов.
Также используется для указания верхней границы параметра типа в Generics.
окончательный
Определите сущность один раз, которую нельзя изменить или создать из нее позже. Более конкретно: конечный класс не может быть разделен на подклассы, конечный метод не может быть переопределен, а конечная переменная может встречаться не более одного раза как левое выражение в исполняемой команде. Все методы в конечном классе неявно окончательный.
наконец-то
Используется для определения блока операторов для блока, определенного ранее пытаться ключевое слово. В наконец-то блок выполняется после того, как выполнение выходит из пытаться блок и любые связанные ловить предложений независимо от того, было ли исключение выброшено или перехвачено, или метод левого выполнения в середине пытаться или же ловить блоки с использованием возвращаться ключевое слово.
плавать
В плавать ключевое слово используется для объявления переменной, которая может содержать 32-битный одинарная точность Число с плавающей запятой IEEE 754.[5][6] Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. плавать.[7][8]
за
В за ключевое слово используется для создания для цикла, который определяет инициализацию переменной, a логическое выражение, и приращение. Сначала выполняется инициализация переменной, а затем вычисляется логическое выражение. Если выражение оценивается как истинный, блок операторов, связанных с циклом, выполняется, а затем выполняется приращение. Затем снова вычисляется логическое выражение; это продолжается до тех пор, пока выражение не станет ложный.[15]
По состоянию на J2SE 5.0, то за ключевое слово также можно использовать для создания так называемого "улучшен для цикла ",[16] в котором указывается множество или же Итерабельный объект; каждая итерация цикла выполняет связанный блок операторов с использованием другого элемента в массиве или Итерабельный.[15]
идти к
Неиспользованный
если
В если ключевое слово используется для создания если заявление, который проверяет логическое выражение; если выражение оценивается как истинный, выполняется блок операторов, связанный с оператором if. Это ключевое слово также можно использовать для создания оператор if-else; видеть еще.[13][14]
орудия
Включен в объявление класса, чтобы указать один или несколько интерфейсы которые реализованы текущим классом. Класс наследует типы и абстрактные методы, объявленные интерфейсами.
импорт
Используется в начале исходный файл указать классы или целые Пакеты Java на них будет ссылаться позже без включения их имен пакетов в ссылку. Начиная с J2SE 5.0, импорт заявления могут импортировать статический члены класса.
экземпляр
А бинарный оператор который принимает ссылку на объект в качестве первого операнда и класс или интерфейс в качестве второго операнда и дает логический результат. В экземпляр оператор оценивается как истина тогда и только тогда, когда тип среды выполнения объекта совместим по назначению с классом или интерфейсом.
int
В int ключевое слово используется для объявления переменной, которая может содержать 32-битное целое число с дополнением до двух со знаком.[5][6] Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. int.[7][8]
интерфейс
Используется для объявления особого типа класса, который содержит только абстрактные методы или методы по умолчанию, константа (статический финал) поля и статический интерфейсы. Позже это может быть реализовано классами, которые объявляют интерфейс с орудия ключевое слово. Поскольку в Java запрещено множественное наследование, для его обхода используются интерфейсы. Интерфейс может быть определен в другом интерфейсе.
длинный
В длинный ключевое слово используется для объявления переменной, которая может содержать 64-битное целое число с дополнением до двух со знаком.[5][6] Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. длинный.[7][8]
родные
Используется в объявлениях методов, чтобы указать, что метод реализован не в том же исходном файле Java, а на другом языке.[8]
новый
Используется для создания экземпляра класса или объекта массива. Использование ключевого слова для этой цели не обязательно (как показано на примере Scala ), хотя он служит двум целям: он обеспечивает существование разных пространств имен для методов и имен классов, статически и локально определяет, что новый объект действительно создан, и какого он типа среды выполнения (возможно, вводя зависимость в код).
незапечатанный
Используется для объявления того, что класс или интерфейс, расширяющий запечатанный класс, может быть расширен неизвестными классами.[17]
упаковка
Пакет Java - это группа похожих классов и интерфейсов. Пакеты декларируются с упаковка ключевое слово.
частный
В частный ключевое слово используется в объявлении метода, поля или внутреннего класса; закрытые члены могут быть доступны только другим членам их собственного класса.[18]
защищенный
В защищенный ключевое слово используется в объявлении метода, поля или внутреннего класса; защищенные члены могут быть доступны только членам их собственного класса, этого класса подклассы или классы из того же упаковка.[18]
общественный
В общественный ключевое слово используется в объявлении класса, метода или поля; открытые классы, методы и поля могут быть доступны членам любого класса.[18]
возвращаться
Используется для завершения выполнения метода. За ним может следовать значение, требуемое определением метода, которое возвращается вызывающей стороне.
короткая
В короткая ключевое слово используется для объявления поля, которое может содержать 16-битовое знаковое целое число с дополнением до двух.[5][6] Это ключевое слово также используется для объявления, что метод возвращает значение примитивного типа. короткая.[7][8]
статический
Используется для объявления поля, метода или внутреннего класса как поля класса. Классы поддерживают одну копию полей класса независимо от того, сколько существует экземпляров этого класса. статический также используется для определения метода как метода класса. Методы класса граница к классу, а не к конкретному экземпляру, и может работать только с полями класса. (Классы и интерфейсы объявлены как статический члены другого класса или интерфейса на самом деле являются классами верхнего уровня и нет внутренние классы.)
strictfp (добавлено в J2SE 1.2 )[4]
Ключевое слово Java, используемое для ограничения точности и округления вычислений с плавающей запятой для обеспечения переносимости.[8]
супер
Наследование в основном используется для достижения динамического связывания или полиморфизма времени выполнения в java. Используется для доступа к членам класса, унаследованного от класса, в котором он появляется. Позволяет подклассу получить доступ отвергнутый методы и скрытые члены его суперкласса. В супер ключевое слово также используется для переадресации вызова из конструктора в конструктор в суперклассе.
Также используется для указания нижней границы параметра типа в Generics.
выключатель
В выключатель ключевое слово используется вместе с дело и дефолт создать оператор переключения, который оценивает переменную, сопоставляет ее значение с определенным дело, и выполняет блок операторов, связанных с этим дело. Если нет дело соответствует значению, необязательный блок, помеченный дефолт выполняется, если включен.[9][10]
синхронизированный
Используется в объявлении метода или блока кода для получения мьютекс заблокировать объект, пока текущий нить выполняет код.[8] Для статических методов заблокированным объектом является класс Учебный класс. Гарантирует, что не более одного потока одновременно, работающего с одним и тем же объектом, выполняет этот код. Блокировка мьютекса автоматически снимается, когда выполнение завершает синхронизированный код. Поля, классы и интерфейсы не могут быть объявлены как синхронизированный.
это
Используется для представления экземпляра класса, в котором он появляется. это может использоваться для доступа к членам класса и как ссылка на текущий экземпляр. В это ключевое слово также используется для переадресации вызова из одного конструктора в классе другому конструктору в том же классе.
бросать
Вызывает создание объявленного экземпляра исключения. Это заставляет выполнение продолжаться с первого включающего обработчика исключения, объявленного ловить ключевое слово для обработки типа исключения, совместимого с назначением. Если такой обработчик исключений не найден в текущем методе, метод возвращается, и процесс повторяется в вызывающем методе. Если ни при одном вызове метода в стеке обработчик исключений не обнаружен, то исключение передается обработчику неперехваченных исключений потока.
бросает
Используется в объявлениях методов, чтобы указать, какие исключения не обрабатываются внутри метода, а передаются на следующий более высокий уровень программы. Все неперехваченные исключения в методе, не являющиеся экземплярами RuntimeException должны быть объявлены с использованием бросает ключевое слово.
преходящий
Объявляет, что поле экземпляра не является частью значения по умолчанию сериализованный форма объекта. Когда объект сериализуется, в последовательное представление по умолчанию включаются только значения его непереходных полей экземпляра. Когда объект десериализуется, временные поля инициализируются только значениями по умолчанию. Если форма по умолчанию не используется, например когда serialPersistentFields table объявлен в иерархии классов, все преходящий ключевые слова игнорируются.[19][20]
пытаться
Определяет блок операторов с обработкой исключений. Если исключение выбрасывается внутри пытаться блок, необязательный ловить блок может обрабатывать объявленные типы исключений. Также необязательный наконец-то может быть объявлен блок, который будет выполнен, когда выполнение завершится пытаться блок и ловить предложения, независимо от того, выброшено исключение или нет. А пытаться блок должен иметь хотя бы один ловить пункт или наконец-то блокировать.
пустота
В пустота ключевое слово используется, чтобы объявить, что метод не возвращает никакого значения.[7]
летучий
Используется в объявлениях полей, чтобы гарантировать видимость изменений переменных в потоках. Каждое чтение изменчивой переменной будет считываться из основной памяти, а не из кеша ЦП, и каждая запись в изменчивую переменную будет записываться в основную память, а не только в кеш ЦП.[21] Таким образом, методы, классы и интерфейсы не могут быть объявлены летучий, а также локальные переменные или параметры.
пока
В пока ключевое слово используется для создания пока цикл, который проверяет логическое выражение и выполняет блок операторов, связанных с циклом, если выражение оценивается как истинный; это продолжается до тех пор, пока выражение не станет ложный. Это ключевое слово также можно использовать для создания цикл do-while; видеть делать.[11][12]

Зарезервированные идентификаторы

Следующие идентификаторы не являются ключевыми словами, однако они ограничены в некоторых контекстах:

разрешения
Предложение разрешений определяет классы, которым разрешено расширять запечатанный класс.[22]
записывать
запечатанный
Запечатанный класс или интерфейс могут быть расширены или реализованы только теми классами и интерфейсами, которым это разрешено.[23]
вар
Специальный идентификатор, который нельзя использовать в качестве имени типа (начиная с Java 10).[24]
урожай
Используется для установки значения для выражения переключения

Зарезервированные слова для буквальных значений

истинный
Логическое буквальное значение.
ложный
Логическое буквальное значение.
ноль
Ссылочное буквальное значение.

Неиспользованный

const
Хотя в Java зарезервировано как ключевое слово, const не используется и не имеет функции.[2][25] Для определения констант в Java см. окончательный ключевое слово.
идти к
Хотя в Java зарезервировано как ключевое слово, идти к не используется и не имеет функции.[2][25]

Смотрите также

Рекомендации

  1. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls-3.9
  2. ^ а б c «Спецификация языка Java - Раздел 3.9: Ключевые слова». Спецификация языка Java. Oracle. 2018-08-21. Получено 2018-12-25.
  3. ^ Гетц, Брайан. «Предупреждение об одном идентификаторе подчеркивания». Разработка OpenJDK Lambda.
  4. ^ а б c "Ключевые слова языка Java". Учебники по Java. Sun Microsystems, Inc. Получено 2017-07-24.
  5. ^ а б c d е ж «Примитивные типы данных». Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2008-12-03.
  6. ^ а б c d е ж Фланаган 2005, п. 22.
  7. ^ а б c d е ж грамм «Возврат значения из метода». Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2008-12-03.
  8. ^ а б c d е ж грамм час я Фланаган 2005 С. 66-67.
  9. ^ а б c "Заявление о переключении". Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2014-12-18.
  10. ^ а б c Фланаган 2005 С. 46-48.
  11. ^ а б "Заявления пока и что делать, пока". Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2008-12-03.
  12. ^ а б Фланаган 2005 С. 48-49.
  13. ^ а б "Утверждения if-then и if-then-else". Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2008-12-03.
  14. ^ а б Фланаган 2005 С. 44-46.
  15. ^ а б "Заявление за". Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2008-12-03.
  16. ^ Фланаган 2005 С. 50-54.
  17. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls. Отсутствует или пусто | название = (помощь)
  18. ^ а б c «Контроль доступа к членам класса». Учебники по Java. Sun Microsystems, Inc. 14 февраля 2008 г.. Получено 2008-12-03.
  19. ^ "Спецификация сериализации объектов Java версии 1.5.0". Солнце / Оракул. 2004. 1.5 Определение сериализуемых полей для класса.. Получено 2010-09-16.[постоянная мертвая ссылка ]
  20. ^ Гроссо, Уильям (21 ноября 2001 г.). «Java RMI: сериализация». ONJava. O'Reilly Media. Объявление serialPersistentFields. Получено 2010-09-16.
  21. ^ "Изменчивое ключевое слово Java".
  22. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls. Отсутствует или пусто | название = (помощь)
  23. ^ https://docs.oracle.com/en/java/javase/15/docs/specs/sealed-classes-jls.html#jls. Отсутствует или пусто | название = (помощь)
  24. ^ «Глава 3. Лексическая структура». docs.oracle.com. Получено 2018-12-25.
  25. ^ а б Фланаган 2005, п. 20.

внешняя ссылка