Final (Java)

From Wikipedia, the free encyclopedia

Remove ads

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

Shembull:

public final class KlasaFinale {...}
Remove ads

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

Shembull:

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

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

Referime

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads