Final (Java)

Në gjuhën programuese  Java, final është një  fjalë kyçe e cila shfrytëzohet në kontekste të ndryshme për shkaqe të definimit të një entiteti që më vonë nuk mund të ndryshohet.

 Klasat finale 
Klasat të cilat janë të definuara si finale (me anë të fjalës kyçe final) nuk mund të kenë nënklasa që i trashëgojnë ato. Kjo veti e gjuhës programuese Java është implementuar për shkaqe të sigurisë dhe eficiencës. Në përputhje me këtë veti, të gjitha libraritë standarde të Java janë të definuara si finale, p.sh.  dhe . Rrjedhimisht, të gjitha metodat brenda një klase finale konsiderohen finale.

Shembull:
public final class KlasaFinale {...}

 Metodat finale 
Metodat finale nuk mund të trashëgohen dhe ta kenë strukturën dhe funksionalitetin e mbishkruar nga nënklasat. Kjo veti është implementuar për shkaqe të parandalimit të sjelljeve të papritura që mund të rrjedhin nga ndryshimi i metodës prej anës të nënklasës, ku kjo mund të qojë drejtë jo-stabilitetit të klasës prindërore - .

Shembull:
public class Klasa {
    public final void MetodaFinale() {...}
}

 Variablat finale 
Variablat finale në krahasim prej variablave tjera, mund vetëm një herë të marrin vlerë. Pra, variabla bëhet e pandryshueshme menjëherë pasi që ta fiton vlerën, p.sh. public static final double PI = 3.141592653589793; do të jetë e pandryshueshme gjatë tërë ekzistencës të klasës dhe do të shfrytëzohet si konstantë - .

Shembull:
public class Sfera {

    /**
     * Definimi i konstantës matematikore Pi
     */
    public static final double PI = 3.141592653589793;

    /**
     * Definimi i radiusit si dhe koordinatave hapësinore 
     * x, y, dhe z për sferën.
     */
    public final double radiusi;
    public final double koordinataX;
    public final double koordinataY;
    public final double koordinataZ;

    Sfera( double r, double x, double y, double z ) {
         radiusi = r;
         koordinataX = x;
         koordinataY = y;
         koordinataZ = z;
    }

    [...]
}

 Referime 

Kategoria:Java (gjuhë programimi)