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
[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.
dhe java.lang.System
. Rrjedhimisht, të gjitha metodat brenda një klase finale konsiderohen finale.
java.lang.String
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;
}
[...]
}
Referime
[Redakto | Redakto nëpërmjet kodit]- ^ "Writing Final Classes and Methods". Sun Microsystems, Inc. 2008-02-14. Marrë më 2009-01-29.
{{cite web}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{in lang|en}} instead. - ^ Kathy Sierra; Bert Bates (2005-02-09). "Chapter 10: Numbers Matter". Head First Java (bot. 2). O'Reilly Media, Inc. fq. 278. ISBN 0-5960-0920-8.
{{cite book}}
: Mungon ose është bosh parametri|language=
(Ndihmë!) - Transclusion error: {{En}} is only for use in File namespace. Use {{lang-en}} or {{in lang|en}} instead.