4 nivelet e aksesit janė:
Vizibiliteti nė paketė, automatike, nuk ka nevojė pėr modifikues.
Vizibiliteti vetėm nė klasė (private)
Vizibiliteti nė botė (public).
Vizibiliteti nė paketė dhe nė tė gjithė nėnklasat (protected).
Modifikuesit automatike tė aksesit- Pa fjale kyēe.
Modifikuesi automatik i aksesit do tė thotė qė ne nuk e deklarojmė nė mėnyrė tė qartė njė modifikues aksesi pėr njė klasė, fushė, metodė etj.
Njė variabėl ose metodė e deklaruar pėr njė kontrollues modifikues aksesi mund tė pėrdoret nė klasa tė tjera tė sė njėjtės paketė. Fushat nė njė ndėrfaqe janė vetėm public static final dhe metodat nė njė ndėrfaqe janė publike nė mėnyrė automatike.
Shembull:Variablat dhe metodat mund tė deklarohen pa ndonjė modifikues, si nė shembullin e mėposhtėm:
String version = "1.5.1";
boolean procesiPorosites() {
return true;
}
Modifikuesi privat i aksesit- Private
Metodat, variablat, dhe konstruktorėt qė deklarohen private mund tė aksesohen vetėm nė klasėn ku janė deklaruar.
Modifikuesit e aksesit privat kanė nivelin mė tė kufizuar tė aksesit. Klasat dhe ndėrfaqet nuk mund tė jenė private.
Variablat qė janė tė deklaruara private mund tė aksesohen nga jashtė klasės, nėse metodat marrėse publike janė prezente nė klasė.
Pėrdorimi i modifikuesve private ėshtė mėnyra kryesore qė njė objekt enkapsulon veten dhe fsheh tė dhėna nga bota e jashtme.
ShembullKlasa e mėposhtme pėrdor kontrolluesin privat tė aksesit.
public class Perdoruesi {
private String format;
public String getFormat() {
return this.format;
}
public void setFormat(String format) {
this.format = format;
}
}
Kėtu, variabli format i klasės Perdoruesi ėshtė privat, atėherė nuk ka asnjė mėnyrė pėr klasat e tjera qė tė marrin ose tė dėrgojnė vlera nė mėnyrė tė drejtpėrdrejtė.
Kėshtu, pėr ta bėrė njė variabėl tė prekshėm nga bota e jashtme, ne pėrcaktuam dy metoda publike: getFormat(), qė kthen vlerėn e format dhe setFormat(String), qė dėrgon vlerėn e tij.
Modifikuesi publik i aksesit- Public
Njė klasė, metodė, konstruktor, ndėrfaqe etj. e deklaruar publike mund tė aksesohet nga ēdo klasė tjetėr. Prandaj, fushat, metodat, blloqet e deklaruara brenda njė klase publike mund tė aksesohen nga ēdo klasė qė i pėrket universit tė gjuhės JAVA.
Gjithsesi, nėse klasa publike qė ne po pėrpiqemi tė aksesojmė ėshtė nė njė paketė tė ndryshme, atėherė klasa publike pėrsėri ka nevojė tė importohet. Pėr shkak tė trashėgimit tė klasave, tė gjitha metodat publike dhe variablat nė njė klasė janė trashėguar nga nėnklasat.
ShembullFunksioni i mėposhtėm pėrdor aksesin e kontrollit publik.
public static void main(String[] arguments) {
// ...
}
Metoda main() e njė aplikacioni duhet tė jetė publike. Nė tė kundėrt, ajo nuk mund tė thirret nga interpretuesi i JAVA pėr tė run-uar klasėn.
Modifikuesi i aksesit Protected
Variablat, metodat dhe konstruktorėt, qė janė deklaruar protected nė njė superklasė mund tė aksesohen vetėm nga nėnklasat nė paketa tė mbrojtura tė antarėve tė klasės.
Modifikuesi i aksesit protected nuk mund tė aplikohet nė klasa dhe ndėrfaqe. Metodat, fushat mund tė deklarohen protected, gjithsesi metodat dhe fushat nė njė ndėrfaqe nuk mund tė deklarohen protected.
Aksesi protected i jep nėnklasės njė mundėsi pėr tė pėrdorur metodėn ndihmuese ose variabėl, ndėrsa parandalon njė klasė qė nuk ka lidhje me tė qė ta pėrdorė kėtė akses.
ShembullShembulli i klasės prindi pėrdor kontrollin e aksesit protected, pėr tė lejuar nėnklasėn tė tejkalojė metodėn zeriHapur().
class AudioPlayer {
protected boolean zeriHapur(Speaker sp) {
// detajet e implementimit
}
}
class StreamingAudioPlayer {
boolean zeriHapur(Speaker sp) {
// detajet e implementimit
}
}
Nėse pėrcaktojmė metodėn zeriHapur() si private, atėherė ai mund tė mos jetė i aksesueshėm nga klasa tė tjera pėrveē asaj AudioPlayer. Nėse e pėrcaktojmė atė si public, atėherė ai do tė bėhet i askesueshėm nga tė gjitha klasat e jashtme. Por qėllimi ynė ėshtė tė ekspozojmė kėtė metodė vetėm nė nėnklasėn e tij, prandaj ne pėrdorim modifikuesin protected.
Kontrolli i aksesit dhe trashėgimnia
Ju tregojmė rregullat e pėrdorshme nga metodat e trashėguara:
Metodat e deklaruara publike nė njė superklasė duhet tė jenė publike nė tė gjitha nėnklasat.
Metodat e deklaruara protected nė njė superklasė mund tė jenė protected ose public nė nėnklasa. Kėto metoda nuk mund tė jenė private.
Metodat e deklaruara private nuk trashėgohen, kėshtu qė nuk ka ndonjė rregull pėr to.