U ovom uputstvu naučit ćemo o završnim varijablama Java, metodama i klasama s primjerima.
U Javi se final
ključna riječ koristi za označavanje konstanti. Može se koristiti s varijablama, metodama i klasama.
Jednom kada je bilo koji entitet (varijabla, metoda ili klasa) deklariran final
, može se dodijeliti samo jednom. To je,
- konačna varijabla ne može se ponovno inicijalizirati s drugom vrijednošću
- konačnu metodu nije moguće nadjačati
- završni razred se ne može produžiti
1. Java konačna varijabla
U Javi ne možemo promijeniti vrijednost konačne varijable. Na primjer,
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); ) )
U gore navedenom programu stvorili smo konačnu varijablu nazvanu dob. I pokušali smo promijeniti vrijednost konačne varijable.
Kada pokrenemo program, dobit ćemo pogrešku u kompilaciji sa sljedećom porukom.
cannot assign a value to final variable AGE AGE = 45;
Napomena : Preporučuje se korištenje velikih slova za deklariranje konačnih varijabli u Javi.
2. Java konačna metoda
Prije nego što naučite o završnim metodama i završnoj nastavi, pobrinite se da znate o Java nasljeđivanju.
U Javi final
podređena klasa ne može nadjačati metodu. Na primjer,
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(); ) )
U gornjem primjeru stvorili smo konačnu metodu koja se naziva display()
unutar FinalDemo
klase. Ovdje glavna klasa nasljeđuje klasu FinalDemo.
Pokušali smo nadjačati konačnu metodu u glavnoj klasi. Kad pokrenemo program, dobit ćemo pogrešku u kompilaciji sa sljedećom porukom.
display() in Main cannot override display() in FinalDemo public final void display() ( overridden method is final
3. Java završni razred
U Javi konačnu klasu ne može naslijediti druga klasa. Na primjer,
// 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(); ) )
U gornjem primjeru stvorili smo završni razred nazvan FinalClass. Ovdje smo pokušali naslijediti završnu klasu od strane glavne klase.
Kada pokrenemo program, dobit ćemo pogrešku u kompilaciji sa sljedećom porukom.
cannot inherit from final FinalClass class Main extends FinalClass (