final (Java)

Nga Wikipedia, enciklopedia e lirë
Jump to navigation Jump to search

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 nëpërmjet kodit]

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 nëpërmjet kodit]

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 nëpërmjet kodit]

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

Referimet[Redakto | Redakto nëpërmjet kodit]

  1. ^ "Writing Final Classes and Methods". Sun Microsystems, Inc. 14 shkurt 2008. Marrë më 2009-01-29. Mungon ose është bosh parametri |language= (Ndihmë!) - Stampa:En
  2. ^ Kathy Sierra; Bert Bates (9 shkurt 2005). "Chapter 10: Numbers Matter". Head First Java (bot. 2)). O'Reilly Media, Inc. f. 278. ISBN 0-5960-0920-8. Mungon ose është bosh parametri |language= (Ndihmë!) - Stampa:En