V tej vadnici bomo s primeri spoznali končne spremenljivke, metode in razrede Java.
V Javi se s final
ključno besedo označujejo konstante. Uporablja se lahko s spremenljivkami, metodami in razredi.
Ko je katera koli entiteta (spremenljivka, metoda ali razred) razglašena final
, jo je mogoče dodeliti le enkrat. To je,
- končne spremenljivke ni mogoče ponovno inicializirati z drugo vrednostjo
- končne metode ni mogoče preglasiti
- zadnjega razreda ni mogoče podaljšati
1. Končna spremenljivka Java
V Javi ne moremo spremeniti vrednosti končne spremenljivke. Na primer
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); ) )
V zgornjem programu smo ustvarili končno spremenljivko z imenom starost. In poskušali smo spremeniti vrednost končne spremenljivke.
Ko zaženemo program, se prikaže napaka pri prevajanju z naslednjim sporočilom.
cannot assign a value to final variable AGE AGE = 45;
Opomba : Priporočljivo je, da za razglasitev končnih spremenljivk v Javi uporabite velike črke.
2. Končna metoda Java
Preden se seznanite s končnimi metodami in zaključnimi tečaji, se prepričajte, da poznate dedovanje Java.
V Javi final
podrejeni razred metode ne more preglasiti. Na primer
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(); ) )
V zgornjem primeru smo ustvarili končno metodo, imenovano display()
znotraj FinalDemo
razreda. Tu razred Main podeduje razred FinalDemo.
Končno metodo smo poskušali preglasiti v razredu Main. Ko zaženemo program, se prikaže napaka pri prevajanju z naslednjim sporočilom.
display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final
3. Končni razred Java
V Javi končnega razreda ne more podedovati drug razred. Na primer
// 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(); ) )
V zgornjem primeru smo ustvarili končni razred z imenom FinalClass. Tu smo poskušali podedovati končni razred po glavnem razredu.
Ko zaženemo program, se prikaže napaka pri prevajanju z naslednjim sporočilom.
cannot inherit from final FinalClass class Main extends FinalClass (