Список зарезервованих слів мови Java

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Код на Java з ключовими словами підсвіченими синім товстим шрифтом.

Мова програмування Java налічує 57 зарезервованих слів.[1] Програмісти не можуть використовувати зарезервовані слова як імена змінних, методів, класів або у якості будь-якого іншого ідентифікатора. З 57 ключових слів, 55 використовуються, 2 не використовуються тому, що є застарілими. Завдяки своєму спеціальному іменуванню[2] слів, більшість IDE (integrated development environments) для зручності використовують підсвічування синтаксису щоб відображати ключові слова іншим кольором.

Ключові слова[ред. | ред. код]

abstract
abstract використовуються для реалізації абстракції в Java. Метод без визначення повинен бути оголошений як абстрактний, та клас котрий описує цей метод також повинен бути оголошений як абстрактний. Змінні абстрактних класів не можуть бути створені. У підкласах повинні бути реалізовані абстрактні методи. Ключове слово abstract не може бути використано зі змінними або конструкторами. Зауважте, що абстрактний клас взагалі не вимагає абстрактного методу.
assert(Додана в J2SE 1.4)[3]
Assert описує предикат (істинне/помилкове твердження), розміщений в програму Java, щоб вказати, що розробник вважає, що предикат завжди є вірним у цьому місці. Якщо твердження оцінюється як помилкове під час виконання, то це призводить до припинення виконання програми, інакше виконання продовжується.
boolean
Визначає змінну котра може зберігати true або false. Якщо не вказати зміну явно, то буде встановлено значення false, розмір залежить від JVM.
break
Використовується для того щоб завершити виконання циклу в тілі циклу. Можна використовувати тільки в циклах, а саме while, for та do while
byte
byte — одиниця вимірювання обсягу даних. Найменша адресована одиниця пам'яті ЕОМ. Містить 8 бітів. Декларує змінну, котра містить значення від -127 до 128.
case
Невіддільна частина блоку switch[4][5]. Використовується для перевірки на відповідність висловом.
catch[en]
Невіддільна частина блоку try. Використовуються для перехоплення виключення, котрі з'явилися в try.
char
Визначає змінну char[6][7] Це ключове слово також використовується для оголошення, що метод повертає значення примітивного типу long.[8][9], розміру 2 byte[6][7] в Unicode кодуванні.
class
class — це ключове поняття в об'єктно-орієнтованому програмуванні, під яке і заточена Java. class визначає зміст і поведінку якоїсь сукупності даних і дій над цими даними. Створити клас можна за допомогою ключового слова class. Наприклад, якщо ми моделюємо прямокутну кімнату класом Room, то даними можуть бути довжина, ширина, висота, двері, електричні розетки, меблі. Зауважимо, що на рівні класу ми ще не знаємо, про яку кімнату йдеться. Діями можуть бути обчислення площі кімнати, підрахувати кількість меблів, відкриття дверей, тощо.
continue
Використовується в циклах для того щоб перервати виконання коду та перейти на іншу ітерацію циклу. На низькому рівні використовується як goto оператор.
default
Ключове слово default можна додатково використовувати в операторі switch для позначення блоку котрий повинен виконуватися, якщо case не відповідає вказаному значенню. Крім того, default може також використовуватися для оголошення значень за замовчуванням в анотаціях мови Java. Від Java 8 default також використовується для вказівки, що метод в інтерфейсі має реалізацію за замовчуванням.
do
Ключове слово do використовується спільно з блоком while для створення циклу do-while, який виконує блок операторів, хоча б один раз, пов'язаних з циклом, а потім перевіряє булевий вираз, пов'язаний з while. Якщо вираз обчислюється як true, блок виконується знову, це продовжується до тих пір, поки вираження не буде вирахувано як false.
double
Ключове слово double[6][7] використовується для оголошення змінної, сигнатури метода чи поля котре містити 8 byte число з рухомою комою та подвійною точністю.
else
Ключове слово else використовується у поєднанні з if для створення оператора if-else, котрий перевіряє вираження на boolean. Якщо вираження обчислюється як true , то блок операторів, пов'язаних з if виконується. Якщо блок обчислюється як false , тоді виконується else.
enum
Ключове слово в мові Java[3], яке використовується для оголошення переліченого типу. enum розширює базовий клас Enum.
export[en]
Використовується в модулях Java програми для експорту пакетів. Це ключове слово доступне лише в Java 9 і пізніших версіях.
extends
Використовується в декларації класу для спадкування від суперкласу. Використовується в декларації інтерфейсу для вказівки одного або декількох суперінтерфейсів. Клас X розширює клас Y додаючи функціональність шляхом реалізації нових полів або методів, або шляхом перевизначення методів класу Y. Інтерфейс Z розширює один або більше інтерфейсів шляхом додавання методів.
final
Визначає об'єкт, який не може бути змінений в подальшому використанні. Може використовуватися в декларації метода як заборона на перевизначення в класах нащадках.
finally
Використовується для визначення блоку коду, котрий буде обов'язково виконаний після блоку try не зважаючи було перехоплення виключення чи ні.
float
Ключове слово float[6][7] використовується для оголошення змінної, сигнатури метода або поля яке може містити 4 byte, число з рухомою комою.
for
Ключове слово for використовується для створення циклу for котрий визначає ініціалізацію змінної, булевий вираз та лічильник. Спочатку виконується ініціалізація змінної, а потім оцінюється логічний вираз. Якщо вираз обчислюється як true, виконується блок операторів, пов'язаних з циклом, а потім виконується збільшення лічильника. Булевий вираз потім оцінюється знову; це продовжується до тих пір, поки вираження не буде false . Також for[10] використовується як ітеративна конструкція.
if[11][12]
Ключове слово if[11][12] використовується для створення операторного блоку if, котрий перевіряє boolean вираз, якщо вираз обчислюється як true, виконується блок в іншому випадку не виконується . if може використовуватися разом з блоком if-else[12] або else.
implements
Використовуються в класах для того щоб реалізувати вказані інтерфейси.
import
Використовується для імпортування класу, декларується в самому початку програми. Починаючи з версії J2SE 5.0 import вираз зі static може імпортувати статичні члени класу.
instanceof
Бінарна операція котра перевіряє посилання об'єкту на конкретний тип. Повертає true якщо об'єкт є типом або похідною від цього типу, в іншому випадку false
int[8][9]
Ключове слово int [8][9] використовується для оголошення змінної, сигнатури метода або поля котрий може містити 32-розрядне ціле число тобто 4 byte.
interface
Використовується для оголошення interface, який містить лише абстрактні методи без реалізації. interface може бути реалізований класами за допомогою ключового слова implements, цей клас повинен реалізувати усі методи. Інтерфейс може бути реалізований іншим інтерфейсом.
long[8][9]
Ключове слово long[6][7] Це ключове слово також використовується для оголошення, що метод повертає значення примітивного типу long. Використовується для оголошення поля, сигнатури метода або змінної, котра може містити 64-розрядне ціле число, тобто 8 byte.
module[en]
module ключове слово мови Java котре затверджує модуль для розділення коду та розбиття логіки на частини. Використовується тільки в версії Java 9.
native
Використовується в декларації метода для вказівки, що метод реалізований не мовою Java, а іншою мовою.
new
Використовується для створення екземпляра класу.
package
Пакет Java — це згрупована множина класів та інтерфейсів. Пакети оголошуються за допомогою ключового слова package.
private
Ключове слово private[13] використовується в декларації метода, поля або внутрішнього класу. Доступ до private членів можуть здійснювати лише інші члени поточного класу.
protected
Ключове слово protected використовується в декларації методу, поля або внутрішнього класу; Доступ до захищених членів може здійснювати лише із самого класу, нащадка або класи цього ж класу з одного модуля.
public
Ключове слово public використовується в декларації класу, методу або поля. Доступ до відкритих класів, методів і полів можуть здійснювати члени будь-якого класу.
requires[en]
Використовується для визначення необхідних модулів, доступне лише в Java 9 і пізніших версіях.
return
Використовується для завершення виконання методу. За ним може слідувати значення, яке повертається методом.
short
Ключове слово short[6][7] Це ключове слово також використовується для оголошення, що метод повертає значення примітивного типу short.[8][9] використовується для оголошення змінної, поля яке може містити 16-розрядне ціле число тобто 2 byte.
static
Використовується для оголошення поля, методу або внутрішнього класу. Класи підтримують одну копію для усього типу, незалежно від того, скільки екземплярів існує для цього класу. static також використовується для визначення методу як методу типу. Методи класу прив'язані до типу класу, а не до конкретного екземпляра. (Класи та інтерфейси, оголошені як static в інших класах або інтерфейсах, насправді є класами верхнього рівня.)
strictfp (додано в J2SE 1.2)[3]
ключове слово strictfp обмежує обчислення чисел з рухомою комою для забезпечення портативності.[9]
super
Успадкування в основному використовується для досягнення динамічного зв'язування або поліморфізму часу виконання в Java , super використовується для доступу до членів класу, успадкованого класом. Дозволяє підкласам отримати доступ до перевизначених методів і прихованих членів його суперкласу. Ключове слово super також використовується для переадресації виклику від конструктора поточного класу до конструктора надкласу.
switch
Ключове слово switch використовується у поєднанні з case та default для створення оператора switch, котрий оцінює змінну, знаходить співвідношення з конкретним case та виконує блок операторів, пов'язаних з цим кодом case. Якщо значення case не збігається зі значенням, виконується додатковий блок, позначений як default , якщо він включений.
synchronized
Використовується в оголошенні методу або кодового блоку для блокування потоку котрих хоче отримати доступ до даних. Для статичних методів об'єкт, заблокований, є класом class. Гарантує, що максимум один потік один раз, що працює на одному і тому об'єкті, виконує цей код. Блокування автоматично звільняється після завершення виконання синхронізованого коду. Поля, класи та інтерфейси не можуть бути оголошені як synchronized.
this
Використовується для представлення посилання на екземпляр класу. this може використовуватися для доступу до членів класу і як посилання на поточний екземпляр. Ключове слово this також використовується для переадресації виклику від одного конструктора класу до іншого конструктора того ж класу.
throw[en]
Викликає виключення, якщо створений екземпляр виключення. Це призводить до того, що виконання продовжуватиметься з першим обробником виключень з оголошеним ключовим словом catch , для обробки типу виключення, сумісного з призначенням. Якщо в поточному методі не знайдено такого обробника виключень, то метод повертається і процес повторюється в методі виклику. Якщо у методі в стеку немає жодного обробника виключення, то програма припиніть свою роботу.
throws[en]
Використовується при декларуванні методів для визначення того, які виключення не обробляються в методі, а передаються на наступний вищий рівень програми. Усі невикористані виключення в методі, які не є екземплярами RuntimeException , повинні бути оголошені за допомогою ключового слова throws
transient[en]
Оголошує, що поле екземпляра не є частиною серіалізованої форми об'єкта. Коли об'єкт серіалізується, тільки значення без модифікатора transient будуть включатися в серіалізацію. Коли об'єкт десеріалізується, поля з transient[14] будуть зі значення за замовчуванням.
try[en]
Затверджує блок інструкцій в котрому може бути виключення. Якщо виключення трапилося — перехоплює та передає управління блоку catch без подальшого виконання блоку. Разом з блоком try може використовуватися finally котрий виконує код в своєму блоці в будь-якому випадку. try повинен мати хоча б один блокcatch для коректного виконання.
void
Використовується для того щоб позначити функцію котра не повертає значення.
volatile[en]
Ключове слово volatile означає, що поле може змінити декілька потоків, які виконуються одночасно. Використовуються при декларуванні полів і тільки.
while
The while використовується для затвердження циклу, котрий виконує своє тіло поки умова циклу дорівнює true. Також використовується для декларування конструкції do while.[15][16]

Спеціальні ідентифікатори[ред. | ред. код]

var
Спеціальний ідентифікатор, який не можна використовувати як ім'я типу.

Зарезервовані слова значень змінних[ред. | ред. код]

true
Значення boolean змінної.
null
Значення за замовчуванням для змінної класу.
false
Значення boolean змінної.

Ключові слова котрі є застарілими[ред. | ред. код]

const
Незважаючи на те, що зарезервовано як ключове слово в Java, constне використовується.
goto [1]
Хоча зарезервовано як ключове слово в Java, goto [1] не використовується.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б в Flanagan, 2005, с. 20.
  2. Java Language Specification - Section 3.9: Keywords. The Java Language Specification. Oracle. 21 серпня 2018. Процитовано 25 грудня 2018.
  3. а б в Java Language Keywords. The Java Tutorials. Sun Microsystems, Inc. Процитовано 24 липня 2017.
  4. The switch Statement. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 18 грудня 2014.
  5. Flanagan, 2005, с. 46-48.
  6. а б в г д е Primitive Data Types. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 3 грудня 2008.
  7. а б в г д е Flanagan, 2005, с. 22.
  8. а б в г д Returning a Value from a Method. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 3 грудня 2008.
  9. а б в г д е Flanagan, 2005, с. 66-67.
  10. The for Statement. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 3 грудня 2008.
  11. а б The if-then and if-then-else Statements. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 3 грудня 2008.
  12. а б в Flanagan, 2005, с. 44-46.
  13. Controlling Access to Members of a Class. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 3 грудня 2008.
  14. Grosso, William (21 листопада 2001). Java RMI: Serialization. ONJava. O'Reilly Media. Declaring serialPersistentFields. Процитовано 16 вересня 2010.
  15. The while and do-while Statements. The Java Tutorials. Sun Microsystems, Inc. 14 лютого 2008. Процитовано 3 грудня 2008.
  16. Flanagan, 2005, с. 48-49.

Посилання[ред. | ред. код]

Література[ред. | ред. код]