Final (Java)

Nga Wikipedia, enciklopedia e lirë
Shko te: navigacion, kërko
Titulli korrekt i këtij artikullit është final (Java). Shkronja fillestare është e treguar gabimisht për shkak të kufizimeve teknike.

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[redakto | redakto tekstin burimor]

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. java.lang.System dhe java.lang.String. Rrjedhimisht, të gjitha metodat brenda një klase finale konsiderohen finale.

Shembull:

public final class KlasaFinale {...}

Metodat finale[redakto | redakto tekstin burimor]

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[1].

Shembull:

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

Variablat finale[redakto | redakto tekstin burimor]

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ë[2].

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;
    }
 
    [...]
}

Referencat[redakto | redakto tekstin burimor]

[1]

  1. ^ Writing Final Classes and Methods. Sun Microsystems, Inc. (2008-02-14). Vizituar në 29. Janar 2009. - (Anglisht)
  2. ^ Sierra, Kathy; Bert Bates (2005-02-09). "Chapter 10: Numbers Matter", Head First Java, 2, O'Reilly Media, Inc, 278. ISBN 0-5960-0920-8.  - (Anglisht)