Junior
Mida tähendab märksõna 'final' Java programmeerimiskeeles?
sobes.tech AI
Vastus AI-lt
Java final märksõna kasutatakse selleks, et näidata, et muutuja, meetod või klass ei saa muutuda:
-
finalmuutuja:final-ga deklareeritud muutuja väärtus võib olla määratud ainult üks kord. Pärast määramist ei saa seda muuta:- Primitiivsete tüüpide puhul on
finalmuutuja väärtus konstant: - Seotud tüüpide puhul tähendab
finalmuutuja, et viide objekti ei saa muutuda, kuid objekti enda olek (tema väljad) võib muutuda (kui ainult väljad ise ei olefinal):
final int MAX_VALUE = 100; // final primitiivne muutuja final List<String> names = new ArrayList<>(); // final viide names.add("Alice"); // OK // names = new ArrayList<>(); // Kompileerimisel viga - viidet ei saa ümber määrata -
finalmeetod:- Meetod, mis on deklareeritud kui
final, ei saa alamsklassides üle kirjutada: - Seda kasutatakse soovimatute käitumise muutuste vältimiseks pärilikkuse hierarhias:
class Parent { final void display() { System.out.println("This is a final method."); } } class Child extends Parent { // @Override void display() { } // Kompileerimisel viga - `final` meetodit ei saa üle kirjutada } - Meetod, mis on deklareeritud kui
-
finalklass:- Klass, mis on deklareeritud kui
final, ei saa olla alamklass (ei saa pärandada): - Seda kasutatakse klassi muutumatuse tagamiseks ja selle funktsionaalsuse laiendamise vältimiseks:
final class ImmutableClass { private final int value; public ImmutableClass(int value) { this.value = value; } } // class TryingToExtend extends ImmutableClass { } // Kompileerimisel viga - `final` klassi ei saa pärandada - Klass, mis on deklareeritud kui