Hozzáférés-módosítók Java-ban: Mindössze annyit kell tudnia



Ez a cikk segít megérteni, hogy melyek a Java hozzáférés-módosítói, és megismerheti a különféle típusokat, például a nyilvános, a privát, a védett és az alapértelmezetteket.

A Java hozzáférés-módosítók az osztályok, a változó módszerek és a konstruktor hozzáférési szintjeinek megadására szolgálnak.Segít az a értékének frissítésében . Ők is ismertek láthatóság szerkesztése. E blog közvetítésével segítek megérteni, mi a jelentősége a hozzáférés-módosítóknak .

A témákat a következő sorrendben tárgyalom:





Kezdjük az első témával.

Mi az az Access Modifier?



Talán találkozhatott veled nyilvános , magán és védett kulcsszavak gyakorlása közben , ezeket nevezzük Hozzáférés-módosítóknak.Ahogy a neve is sugallja, a Java hozzáférés-módosítói segítenek korlátozni egy osztály, konstruktor, változó, módszer vagy adattag hatókörét.

A hozzáférés-módosítókat külön meg lehet adni egy osztályhoz, a kivitelezőkhöz,mezők és módszerek. Ezekre is hivatkoznak Java hozzáférési specifikátorok , de a helyes név az Java hozzáférés módosítók .

__init__ a pythonban

Vizsgáljuk meg tehát mélyen a Java különböző hozzáférés-módosítóit.



Az Access Modifier típusai

Négy hozzáférés-módosító kulcsszó van és ők:

  • Alapértelmezett hozzáférés-módosító
  • Privát hozzáférés módosító
  • Nyilvános hozzáférés módosító
  • Védett hozzáférés-módosító

Tanuljunk meg részletesen mindegyikről.

Alapértelmezett hozzáférés-módosító

Ha egy adott osztályhoz, módszerhez vagy adattaghoz nincs megadva hozzáférés-módosító, akkor azt mondják, hogy rendelkezik vele alapértelmezett hozzáférés a szerkesztéshez.

A dátum tagjai, vagy olyan metódusok, amelyek nincsenek deklarálva semmilyen belépési módosítóval, alapértelmezett módosítóval rendelkeznek, amely csak egy hasonló csomagban érhető el. Aztazt jelenti, hogy nem nyilatkoztok ki kifejezetten egy osztály, mező, módszer stb. hozzáférés-módosítót.

Példa:

p1 // Class Course alapértelmezett hozzáférés-módosító osztályú Course {void display () {System.out.println ('Hello World!')}}

Ezután térjünk át a következő típusra, a privát hozzáférés módosítójára.

Privát hozzáférés módosító

  • A privátnak nyilvánított módszerek vagy adattagok csak abban az osztályban érhetők el, amelyben deklarálták őket.
  • A legfelsõbb osztályok vagy interfészek nem nyilváníthatók privátnak, annak fényében
    • A privát azt jelenti: csak a záróosztály belsejében látható '.
    • A védett azt jelenti: j észrevehető a záróosztályon és az alosztályokon belül '.
  • Ha egy osztálynak vannak nekmagánépítő akkor nem hozhatja létre az osztály objektumát az osztályon kívülről.
  • Az osztályok nem jelölhetők a privát hozzáférés módosító .
  • Ha egy osztályt privát hozzáférés-módosítóval jelölünk, az azt jelentené, hogy más osztály nem juthat hozzá. Ez általában azt jelenti, hogy az osztályt nem használhatja a képzelet egyetlen része sem. Ily módon a privát hozzáférés-módosító nem veszi figyelembe az osztályokat.

jegyzet : Az osztály vagy az interfész nem nyilvánítható privátként.

hogyan kell használni a szkennert Java-ban

Szintaxis:

nyilvános osztály Óra {privát hosszú idő = 0}

Vessen egy pillantást, hogy világos képet kapjon erről a privát hozzáférés-módosítóról.

Példa:

csomag p osztály A {private void display () {System.out.println ('Edureka')}} B osztály {public static void main (String args []) {A obj = new A () // megpróbál hozzáférni a priváthoz egy másik osztály metódusa obj.display ()}}

Ennek a programnak a kimenete:

hiba: a display () privát hozzáféréssel rendelkezik A-ban

obj.display ()

Remélem, hogy a magán hozzáférés-módosítóval tisztában vagytok. Ezután térjünk át a következő típusra, a nyilvános hozzáférés módosítására.

Nyilvános hozzáférés módosító

  • A nyilvános hozzáférés módosítóját a kulcsszóval adjuk meg nyilvános.
  • A nyilvános hozzáférés-módosító széles körű az összes többi hozzáférés-módosító között.
  • , metódusok vagy adattagok, amelyeket a nyilvános vannak bárhol hozzáférhető A program. A nyilvános adatok tagjai körében nincs korlátozás.

Szintaxis:

csomag edureka.co public class PublicClassDemo {// Itt nem említettem módosítót, így alapértelmezett módosítóként működik a public int myMethod (int x) {return x}}

Most nézzen meg egy példát, hogy világos képet kapjon erről a nyilvános hozzáférés-módosítóról.

Példa:

p1 csomag nyilvános A osztály {public void display () {System.out.println ('edureka!')}}
csomag p2 import p1. * osztály B {public static void main (String args []) {A obj = új A obj.display ()}}

Kimenet: edureka!

Ez minden a Java nyilvános hozzáférés-módosítóiról szól.

Térjünk át a Java következő hozzáférés-módosítóira, a védett hozzáférés-módosítókra.

Védett hozzáférés-módosító

  • A védett hozzáférés-módosítót a kulcsszóval adjuk meg védett .
  • A védetté nyilvánított módszerek vagy adattagok ugyanabban a csomagban vagy alosztályokban érhetők el egy másik csomagban.
  • A védett tagok csak a gyermek vagy a származtatott osztályokban férhetnek hozzá.

Szintaxis:

package packageFourProtected public class ProtectedClassFour {protected int myMethod (int a) {return a}}

Vessen egy pillantást egy példára.

Példa:

spackage p1 // A osztályú nyilvános A osztály {védett void display () {System.out.println ('Java tanúsító tréning')}}
p2 csomag p1 import p1. * // az összes osztály importálása a p1 csomagba // A B osztály az A alosztálya A osztály kiterjeszti az A osztályt | {public static void main (String args []) {B obj = new B () obj.display ()}}

Kimenet - Hozzáférés-módosítók Java-ban - Edureka

Ez minden, amit tudnia kell a Java hozzáférési módosítóinak különböző módszereiről. Térjünk át a következő témára.

Hozzáférés-módosítók módszer felülírással

Ha ebben az esetben bármelyik módszert felülírja, akkor az alosztályban deklarált felülbírált módszer nem lehet korlátozó.

Vessen egy pillantást az alábbi példára.

c ++ rendező tömb növekvő sorrendben
A osztály {védett void msg () {System.out.println ('Hello java')}} public class Simple kiterjeszti A {void msg () {System.out.println ('Hello java')} // CTError public static void main (String args []) {Egyszerű obj = új Egyszerű () obj.msg ()}}

Az alapértelmezett módosító inkább korlátozó, mint védett. Ezért van fordítási idő hiba.

Belépés-ellenőrzés és öröklés

  • Ha ebben az esetben létrehoz egy alosztályt valamilyen osztályból, akkor az abban az osztályban található módszerek nem rendelhetnek hozzájuk kevésbé hozzáférhető hozzáférés-módosítókat, mint a szuperosztály.
  • Például, ha egy módszer a szuperosztályban az nyilvános akkor az alosztályban is nyilvánosnak kell lennie. Ha egy módszer a szuperosztályban az védett, akkor védettnek vagy nyilvánosnak kell lennie a megadott alosztályban.
  • A privátnak nyilvánított módszerek egyáltalán nem öröklődnek.

Ezzel a cikk végére jutunk, ahol megtanultuk a a Java Java-módosítóin. Remélem, tisztában van mindazzal, amit megosztott veled ebben az oktatóanyagban.

Győződjön meg róla, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.

Ha relevánsnak találta ezt a cikket az „Access Modifiers in Java” témáról, nézze meg a egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóból álló hálózata van az egész világon. Azért vagyunk itt, hogy segítséget nyújthassunk utazásának minden lépésében, hogy e java interjúk kérdése mellett a tanévre váltsunk, előállítunk egy tananyagot, amelyet azoknak a hallgatóknak és szakembereknek tervezünk, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték, hogy előrelépést nyújtson a Java programozásban, és kiképezzen mind az alapvető, mind a fejlett Java koncepciókra, valamint a különböző Java keretrendszerekkel, például a Hibernate & Spring.

Ha bármilyen kérdése merülne fel, nyugodtan tegye fel minden kérdését az „Java-hozzáférés módosítói” megjegyzés rovatban, és csapatunk örömmel válaszol.