Ebben az oktatóanyagban példákkal megismerhetjük a Java végső változókat, módszereket és osztályokat.
A Java-ban a final
kulcsszó állandók jelölésére szolgál. Változókkal, módszerekkel és osztályokkal használható.
Miután bármely entitás (változó, módszer vagy osztály) deklarálva van final
, csak egyszer rendelhető hozzá. Vagyis
- a végső változót nem lehet újra inicializálni egy másik értékkel
- a végső módszert nem lehet felülírni
- az utolsó osztály nem bővíthető
1. Java végső változó
A Java-ban nem változtathatjuk meg a végső változó értékét. Például,
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); ) )
A fenti programban létrehoztunk egy kor nevű végső változót. Megpróbáltuk megváltoztatni a végső változó értékét.
A program futtatásakor fordítási hibát kapunk a következő üzenettel.
cannot assign a value to final variable AGE AGE = 45;
Megjegyzés : Javasolt a nagybetűk használatával deklarálni a végső változókat a Java-ban.
2. Java végső módszer
Mielőtt megismerné a végső módszereket és az utolsó osztályokat, győződjön meg arról, hogy tud a Java öröklésről.
A Java-ban a final
metódust nem tudja felülírni a gyermekosztály. Például,
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(); ) )
A fenti példában létrehoztunk egy végső módszert display()
az FinalDemo
osztályon belül . Itt a Fő osztály örökli a FinalDemo osztályt.
Megpróbáltuk felülírni a végső módszert a Fő osztályban. A program futtatásakor fordítási hibát kapunk a következő üzenettel.
display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final
3. Java végső osztály
A Java-ban az utolsó osztályt nem örökölheti egy másik osztály. Például,
// 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(); ) )
A fenti példában létrehoztunk egy FinalClass nevű utolsó osztályt. Itt megpróbáltuk örökölni az utolsó osztályt a Fő osztálytól.
A program futtatásakor fordítási hibát kapunk a következő üzenettel.
cannot inherit from final FinalClass class Main extends FinalClass (