Sobes.tech
Junior — Middle

Izskaidrojiet, ko nozīmē paziņot klasi kā final Java valodā un kā tā atšķiras no parastas klases.

sobes.tech AI

Atbilde no AI

Java gadījumā, deklarējot klasi kā final, tas nozīmē, ka šīs klases mantošana nav iespējama — tas ir, no šīs klases nevar izveidot apakšklasi. Tas atšķiras no parastas klases, kuru var paplašināt un izmantot jaunu klasu izveidei.

Galvenās final klases īpašības:

  • Aizliedz mantošanu, kas palīdz aizsargāt realizāciju no izmaiņām.
  • Var tikt izmantota drošības un veiktspējas uzlabošanai (kompilators var optimizēt metožu izsaukumus).
  • Bieži tiek piemērota klasēm, kuras nav paredzētas paplašināšanai, piemēram, String.

Piemērs:

public final class ImmutableClass {
    private final int value;

    public ImmutableClass(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }
}

// Mantošanas mēģinājums radīs kompilācijas kļūdu:
// public class SubClass extends ImmutableClass {} // Kļūda

Tādējādi, final klase garantē, ka tās uzvedība paliks nemainīga caur mantošanu.