Selles õpetuses õpime näiteid Java lõplike muutujate, meetodite ja klasside kohta.
Javas kasutatakse final
märksõna konstantide tähistamiseks. Seda saab kasutada koos muutujate, meetodite ja klassidega.
Kui üksus (muutuja, meetod või klass) on deklareeritud final
, saab selle määrata ainult ühe korra. See on,
- lõplikku muutujat ei saa teise väärtusega uuesti initsialiseerida
- lõplikust meetodist ei saa üle vaadata
- lõpuklassi pikendada ei saa
1. Java lõplik muutuja
Javas ei saa me lõpliku muutuja väärtust muuta. Näiteks,
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); ) )
Ülaltoodud programmis oleme loonud lõpliku muutuja nimega vanus. Ja oleme püüdnud muuta lõpliku muutuja väärtust.
Programmi käivitamisel kuvatakse järgmise sõnumiga kompileerimisviga.
cannot assign a value to final variable AGE AGE = 45;
Märkus . Javas olevate lõplike muutujate deklareerimiseks on soovitatav kasutada suurtähti.
2. Java lõplik meetod
Enne lõplike meetodite ja lõpuklasside tundmaõppimist veenduge, et oleksite teadlikud Java pärandist.
Javas final
ei saa lapseklass seda meetodit tühistada. Näiteks,
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(); ) )
Ülaltoodud näites oleme loonud klassi display()
sees nimelise lõpliku meetodi FinalDemo
. Siin pärib põhiklassi klass FinalDemo.
Oleme püüdnud peaklassis lõplikust meetodist kõrvale jätta. Programmi käivitamisel kuvatakse järgmise sõnumiga kompileerimisviga.
display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final
3. Java lõpuklass
Javas ei saa viimast klassi teine klass pärida. Näiteks,
// 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(); ) )
Ülaltoodud näites oleme loonud lõpliku klassi nimega FinalClass. Siin oleme püüdnud põhiklassi lõpuklassi pärida.
Programmi käivitamisel kuvatakse järgmise sõnumiga kompileerimisviga.
cannot inherit from final FinalClass class Main extends FinalClass (