W tym samouczku poznamy końcowe zmienne, metody i klasy języka Java wraz z przykładami.
W Javie final
słowo kluczowe jest używane do oznaczania stałych. Może być używany ze zmiennymi, metodami i klasami.
Po zadeklarowaniu dowolnej jednostki (zmiennej, metody lub klasy) final
można ją przypisać tylko raz. To jest,
- końcowej zmiennej nie można ponownie zainicjować inną wartością
- nie można zastąpić ostatniej metody
- ostatnia klasa nie może zostać przedłużona
1. Zmienna końcowa Java
W Javie nie możemy zmienić wartości końcowej zmiennej. Na przykład,
class Main ( public static void main(String() args) ( // create a final variable final int AGE = 32; // try to change the final variable AGE = 45; System.out.println("Age: " + AGE); ) )
W powyższym programie stworzyliśmy końcową zmienną o nazwie wiek. Próbowaliśmy zmienić wartość końcowej zmiennej.
Po uruchomieniu programu otrzymamy błąd kompilacji z następującym komunikatem.
cannot assign a value to final variable AGE AGE = 45;
Uwaga : Zaleca się używanie wielkich liter do deklarowania zmiennych końcowych w Javie.
2. Ostateczna metoda Java
Zanim nauczysz się ostatecznych metod i klas końcowych, upewnij się, że znasz dziedziczenie Java.
W Javie final
metoda nie może zostać zastąpiona przez klasę potomną. Na przykład,
class FinalDemo ( // create a final method public final void display() ( System.out.println("This is a final method."); ) ) class Main extends FinalDemo ( // try to override final method public final void display() ( System.out.println("The final method is overridden."); ) public static void main(String() args) ( Main obj = new Main(); obj.display(); ) )
W powyższym przykładzie stworzyliśmy ostatnią metodę nazwaną display()
wewnątrz FinalDemo
klasy. W tym przypadku klasa Main dziedziczy klasę FinalDemo.
Próbowaliśmy przesłonić ostatnią metodę w klasie Main. Po uruchomieniu programu otrzymamy błąd kompilacji z następującym komunikatem.
display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final
3. Ostateczna klasa Java
W Javie ostatnia klasa nie może być dziedziczona przez inną klasę. Na przykład,
// create a final class final class FinalClass ( public void display() ( System.out.println("This is a final method."); ) ) // try to extend the final class class Main extends FinalClass ( public void display() ( System.out.println("The final method is overridden."); ) public static void main(String() args) ( Main obj = new Main(); obj.display(); ) )
W powyższym przykładzie utworzyliśmy ostatnią klasę o nazwie FinalClass. Tutaj próbowaliśmy odziedziczyć ostatnią klasę przez klasę główną.
Po uruchomieniu programu otrzymamy błąd kompilacji z następującym komunikatem.
cannot inherit from final FinalClass class Main extends FinalClass (