Zarezerwowane słowa kluczowe w jezyku Java

W poniższej tabeli zostały przedstawione słowa kluczowe języka Java. Słowa kluczowe to specjalnie zarezerwowane wyrazy, których nie można użyć jako nazw klas metod czy zmiennych. Słowa te mają przypisane sobie komendy, na podstawie których kompilator rozumie, co robi dany kod źródłowy.

Słowa true, false oraz null także są zarezerwowane i nie jest możliwe tworzenie zmiennych, klas czy metod o takich nazwach (nie są one słowami kluczowymi lecz literałami).

abstract assert boolean break byte
case catch char class const
continue default do double else
enum extends final finally float
for goto if implements import
instanceof int interface long native
new package private protected public
return short static strictfp super
switch synchronized this throw throws
transient try void volatile while

Słowa const oraz goto są zarezerwowane ale nie mają przypisanych komend. Komenda const w innych językach programowania jest używana do deklarowania stałych. W języku Java używa się do tego komend public static final. W Javie nie stosuje się także komendy goto, ponieważ została ona uznana za niebezpieczną.

Na kolejnych stronach zostaną szerzej opisane poszczególne słowa kluczowe.

Modyfikatory dostępu

W Javie trzy słowa kluczowe określają modyfikatory dostępu, są to:

private

Dostęp do danej metody lub zmiennej jest możliwy tylko z wnętrza danej klasy.
Przykłady zastosowania identyfikatora private:

  1. class KeywordPrivate {
  2.     private int key = 0;
  3.     private void go() {
  4.         System.out.println("Witaj!");
  5.     }
  6. }
Wywołanie metody go() lub zmiennej key możliwe jest jedynie z wnętrza klasy KeywordPrivate.

protected

Dostęp do metod lub zmiennych jest ograniczony jedynie do pakietu w którym znajduje się klasa lub dla potomków tej klasy.
Przykłady zastosowania identyfikatora protected:

  1. public class KeywordProtected {
  2.     protected int key = 0;
  3.     protected void message() {
  4.         System.out.println("Witaj!");
  5.     }
  6. }
Wywołanie metody message lub zmiennej key dla klas w tym samym pakiecie:
  1. KeywordProtected kp = new KeywordProtected();
  2. kp.message();
  3. kp.key = 12;

public

Dostęp do klasy, metod lub zmiennych możliwy jest z każdej innej klasy programu.
Przykłady zastosowania identyfikatora public:

  1. package pl.javabook.keywords;
  2. public class KeywordPublic {
  3.     public int i = 0;
  4.     public void message() {
  5.         System.out.println("Hello!");
  6.     }
  7. }
Dostęp do klasy KeywordPublic oraz jej metod i pól jest możliwy z klasy Main znajdującej się w innym pakiecie.
  1. package pl.javabook;
  2. import pl.javabook.keywords.KeywordPublic;
  3. public class Main {
  4.     public static void main(String[] args) {
  5.         KeywordPublic kp = new KeywordPublic();
  6.         kp.i = 123;
  7.         kp.message();
  8.     }
  9. }

Modyfikatory klas, metod oraz zmiennych

Poniżej przedstawione są modyfikatory klas, metod i/lub zmiennych:

abstract

Modyfikator stosowany do deklaracji klas, które nie mogą zostać zainicjalizowane lub metod, które muszą zostać zaimplementowane w nie abstrakcyjnym potomku danej klasy.
Przykład zastosowania abstract:

  1. public abstract class AbstractClass {
  2.     abstract void doAbstract();
  3. }

class

Słowo kluczowe używane do deklarowania klas.
Przykład zastosowania class:

  1. public class MyClass {
  2. }

extends

Modyfikator stosowany do deklaracji klasy będącej potomkiem innej klasy bazowej.
Przykład zastosowania extends:

  1. public class ExtendsClass extends MyClass {
  2. }

final

Zastosowanie tego modyfikatora pozwala na zadeklarowanie finalnej klasy, metody czy zmiennej. Dzięki słowu final niemożliwe jest dziedziczenie po finalnej klasie, przykrywanie metod czy ponowne inicjalizowanie zmiennych.
Przykład zastosowania final:

  1. public final class FinalClass {
  2.     final int sto = 100;
  3.     final int getSto() {
  4.         return this.sto;
  5.     }
  6. }

implements

Słowo kluczowe deklarujące klasę, która implementuje dany interfejs.
Przykład zastosowania implements:

  1. public class ImplementsClass implements MyInterface {
  2. }

interface

Modyfikator stosowany do deklaracji interfejsów.
Przykład zastosowania interface:

  1. public interface MyInterface {
  2. }

native

Oznaczenie metody, która jest napisana w innym języku programowania.
Przykład zastosowania native:

  1. public class NativeClass {
  2.     native int getNative();
  3. }

new

Słowo kluczowe używane do tworzenia instancji klasy poprzez wywołanie konstruktora.
Przykład zastosowania new:

MyClass myClass = new MyClass();

static

Modyfikator używany do deklaracji metod lub zmiennych statycznych.
Przykład zastosowania static:

  1. public class StaticClass {
  2.     public static final String KROWA = "Krowa!";
  3.     public static void main(String [] args) {
  4.         System.out.println(KROWA);
  5.     }
  6. }

strictfp

Modyfikator używany do oznaczania klas lub metod, w których wszystkie wyrażenia zmiennoprzecinkowe będą przeliczane zgodnie ze standardem IEEE 754.
Przykład zastosowania strictfp:

  1. public strictfp class StrictFPClass {
  2.     strictfp double add(double a,double b) {
  3.         return (a+b);
  4.     }
  5. }

synchronized

Zastosowanie tego modyfikatora powoduje synchronizację metody, czyli w danej chwili dostęp do metody może mieć tylko jeden wątek.
Przykład zastosowania synchronized:

  1. public class SynchronizedClass {
  2.     synchronized int getSynchronized() {
  3.         return 123;
  4.     }
  5. }

transient

Modyfikator stosowany do oznaczania pól klasy. Zabezpiecza on te pola przed zapisywaniem do strumienia.
Przykład zastosowania transient:

  1. public class TransientClass implements Serializable {
  2.     transient String pass = "password";
  3.     String data = "Some String Data";
  4. }

volatile

Modyfikator zmiennych, zezwalający na modyfikowanie przez wiele wątków jednocześnie.
Przykład zastosowania volatile:

  1. public class VolatileClass {
  2.     volatile int volatileI = 100;
  3. }