Uvod u Access Modifiers na Javi

Kao što svi znamo, Java je jedan od najboljih programskih jezika na svijetu. Milijarde uređaja oslanjaju se na njega u posljednja dva desetljeća. Java je brz, pouzdan, siguran i multi-platformaški jezik. Java radi na bilo kojem uređaju sve dok taj uređaj ima Java Runtime (JRE), što ga čini multiplatformnim, brzim i pouzdanim jezikom. Modifikator pristupa je svojstvo Java, što ga čini sigurnim na više platformi. Java pruža programeru sigurnost na razini klase (tijekom enkapsulacije) koristeći svojstvo modifikatora pristupa. Prema knjizi, klasa je nacrt za izgradnju objekta u javi, što ga čini "gradivnim blokom" za program, jer je Java objektno orijentirani jezik. Modifikator pristupa određuje kako svaka klasa može pristupiti određenoj klasi i njezinim poljima, konstruktorima i metodama unutar i različitim paketima. Klasa, polja, konstruktori i metode mogu imati jedan od četiri različita Java modifikatora pristupa.

  • Privatna
  • Javnost
  • zaštićen
  • Zadano - nije potrebna ključna riječ.

Različiti modifikatori pristupa na Javi

Sljedeća tablica sažima kako možemo u program primijeniti Java modifikatore:

IzmjenjivačiklasapaketiPodklasaSvijet
PrivatnaYNNN
JavnostYYYY
zaštićenYYYN
ZadanoYYNN

Mi ćemo pokriti svaki modifikator pristupa Javi u sljedećim odjeljcima.

1) Zadano

Kada se bilo koja klasa, članovi podataka i varijabla deklarišu ne pisanjem s modifikatorom pristupa, tada je postavljena na "zadani" modifikator pristupa. "Zadani" modifikator pristupa znači da kôd unutar bilo koje klase može pristupiti cijelom programu unutar istog paketa.

  • Ovaj modifikator pristupa radi samo unutar istog paketa.
  • Ponekad se „zadani“ modifikator pristupa naziva i modifikatorom pristupa paketu jer je dostupan samo unutar istog paketa.
  • Podklase ne mogu pristupiti metodama, članovima podataka i varijablama (poljima) u pretklasi, ako su ove metode, članovi podataka i varijable (polja) označene "zadanim" modifikatorom pristupa u klasi, osim ako se te podrazrede nalaze u istom paketu kao i superclass.

Primjer 1:

//Java program to show the default modifier.
package Test;
//Where Class eduCBA is having Default access modifier as no access modifier is specified here
class eduCBA
(
void display ()
(
System.out.println("Hello World!");
)
)

Izlaz:

Pozdrav svijete!

Primjer br. 2:

//Java program to show error while using class from different package with default modifier
package test2;
import test.*;
//This class check is having default access modifier
class Check
(
public static void main(String args())
(
//accessing class eduCBA from package test
eduCBA obj = new eduCBA();
obj.display();
)
)

Izlaz:

Pogreška vremena sastavljanja.

2) zaštićeno

Sintaksu "zaštićeno" korisnici koriste kada žele koristiti ovaj modifikator pristupa.

  • Ovaj modifikator pristupa dostupan je samo unutar istog paketa ili iste podklase u različitim klasama (ali korisnici moraju uvesti taj paket tamo gdje je bio određen).
  • Korisnik ne može označiti klasu i sučelja 'zaštićenim' modifikatorom pristupa. Međutim, Metode i polja mogu se proglasiti zaštićenima ako su metode i polja u sučelju.

Na primjer:

//Java program to show to protected access modifier
package test;
//Class eduCBA
public class eduCBA
(
protected void display ()
(
System.out.println("Hello World!");
)
)
//Java program to show to protected modifier in same sub-classes of different packages
package test2;
import test.*;
//Class pro is subclass of eduCBA
class pro extends eduCBA
(
public static void main(String args())
(
pro obj = new pro();
obj.display();
)
)

Izlaz:

Pozdrav svijete!

3) Javna

Korisnik može proglasiti klasu, metodu, konstruktor i sučelje s 'javnim' modifikatorom pristupa kojem može pristupiti bilo koja klasa, metoda, konstruktor i sučelje unutar ili različitih paketa.

  • Ovaj modifikator pristupa ima neograničeno među svim modifikatorima.
  • Kada je bilo koja klasa, metoda ili paket označen modifikatorom javnog pristupa, gdje je dostupan svima iz programa.
  • Ne postoje ograničenja u pogledu opsega javnih metoda pristupa.

Na primjer: -

//Java program to show to public access modifier
package test;
public class eduCBA
(
public void display ()
(
System.out.println("Hello World!");
)
)
package test2;
import test.*;
class pub
(
public static void main (String args ())
(
eduCBA obj = new eduCBA ();
obj.display ();
)
)

Izlaz:

Pozdrav svijete!

4) privatni

Kada su metoda ili varijabla označene kao "privatni" modifikatori pristupa, tada kod unutar te iste klase može pristupiti samo tim metodama i varijablama.

Korisnik ne može proglasiti nijednu super klasu s "privatnim" modifikatorom pristupa u programu. Ako korisnik to učini s bilo kojom klasom, onda to čini da klasa nije dostupna nijednoj drugoj klasi u istom paketu, što klasi čini nikakvu upotrebu iako korisnik može deklarirati varijable i metode unutar klase s privatnim modifikatorom pristupa tako da niko ne može koristiti te varijable i metode.

Povremeno se ljudi zbunjuju s "privatnim" i "zaštićenim" modifikatorom pristupa, ali oboje su različiti.

Na primjer: -

//Program to show error while using a class from different packages with private modifier.
package test;
class eduCBA
(
private void display()
(
System.out.println("Hello World!");
)
)
class Check
(
public static void main (String args())
(
eduCBA obj = new eduCBA();
//make class check to access private method of another class eduCBA.
obj.display();
)
)

Izlaz:

pogreška: display () ima privatni pristup u eduCBA obj.display ();

Zaključak

Java modifikator pristupa pruža vam dodatnu prednost nad vašim programom kada ga učinite javnim. Kao što smo gore istražili, različite vrste modifikatora pristupa u JAVA i njihove specifikacije.

Stoga imajte na umu svaki put kada jedan od njih upotrebljavate kao razred ili pristup sučelju jer oni ne pružaju samo pristup, već ih i nadjačavaju. Premda uvijek postoji zabrinutost u pogledu pristupačnosti metode u programu. Na primjer, ako je sučelju dodijeljen „zadani“ modifikator pristupa u pretklasi, tada je dopušteno nadjačati modifikatore pristupa koji se koriste u potklasi metode.

Napomena: Klasa uključuje varijable, konstruktore, polja i metode, a sučelje uključuje specifična polja ili metode.

Preporučeni članci

Ovo je vodič za pristup Modifikatorima na Javi. Ovdje smo raspravljali o različitim vrstama modifikatora pristupa u javi i njihovim specifikacijama. Možete i proći naše druge predložene članke da biste saznali više -

  1. Objektno orijentirano programiranje na Javi
  2. Pitanja o intervjuu Java
  3. Što je sinkronizacija u Javi?
  4. Automatsko bokiranje i otpakiranje na Javi
  5. Pristupi modifikatorima u jeziku C ++ (vrste)
  6. Iznenađujući vodič za pristup modifikatorima u C #
  7. Pristupite modifikatorima na PHP-u
  8. JRE vs JVM | Top 8 razlike s (Infographics)

Kategorija: