"Üdvözlöm a kedvenc tanítványomat. Most a változók láthatóságáról fogok mesélni."

"Huh? Lehetnek a változók láthatatlanok?"

"Nem. A változó láthatósága vagy hatóköre azokat a helyeket jelenti a kódban, ahol hivatkozhat az adott változóra. A programban mindenütt használhat néhány változót, de mások csak az osztályukon belül használhatók, mások pedig – csak egy módszeren belül. "

"Például nem használhat változót a deklaráció előtt."

"Ennek van értelme."

"Íme néhány példa:"


public class Variables

{
   private static String TEXT = "The end.";
  ┗━━━━━━━━━━━━━━┛
   public static void main (String[] args)
                          ┗━━━━━━━┛
  {
     System.out.println("Hi");
     String s = "Hi!";
   ┏┗━━━━┛
    System.out.println(s);
    if (args != NULL)
    {
       String s2 = s;
      ┗━━━━┛
   
      System.out.println(s2);
     
    }
    Variables variables = new Variables();
    System.out.println(variables.instanceVariable);
    System.out.println(TEXT);
   
  }
 
   public String instanceVariable;
  ┗━━━━━━━━━━━━━━━┛
   public Variables()
   {
      instanceVariable = "Instance variable test.";
   }
}

1. Egy metódusban deklarált változó létezik (látható) a deklaráció kezdetétől a metódus végéig.

2. A kódblokkban deklarált változó a kódblokk végéig létezik.

3. A metódus paraméterei a metóduson belül mindenhol léteznek.

4. Az objektumban lévő változók az őket tartalmazó objektum teljes élettartama alatt léteznek. Láthatóságukat speciális hozzáférésmódosítók is meghatározzák: public és private .

5. A statikus (osztály) változók a program teljes futása alatt léteznek. Láthatóságukat hozzáférésmódosítók is meghatározzák.

"Szeretem a képeket. Segítenek mindent világossá tenni."

"Jó fiú, Amigo. Mindig is tudtam, hogy okos srác vagy."

" A hozzáférés-módosítókról is beszélek . Ne ijedjen meg. Nincs bennük semmi bonyolult. Itt láthatja a nyilvános és privát szavakat ."

"Nem félek, csak a szemem rándul."

"Hiszek neked. Kezelheti, hogy egy osztály metódusait és változóit hogyan érjék el (vagy hogyan lássák) más osztályok. Csak egy hozzáférés-módosítót rendelhet hozzá minden metódushoz vagy változóhoz.

1. nyilvános hozzáférés módosító.

A nyilvános módosítóval jelölt változót, metódust vagy osztályt bárhonnan használhatjuk a programban. Ez a legmagasabb szintű hozzáférés – itt nincsenek korlátozások.

2. privát hozzáférés módosító.

A privát módosítóval megjelölt változót vagy metódust csak abból az osztályból használhatod, amelyben deklarálták. Minden más osztálynál a megjelölt metódus vagy változó láthatatlan lesz, mintha nem is létezne. Ez a legmagasabb szintű zártság – csak a saját osztályán belül érhető el.

3. Nincs módosító.

Ha egy változó vagy metódus nincs megjelölve semmilyen módosítóval, akkor az 'alapértelmezett' hozzáférésmódosítóval van megjelölve. Az ilyen változók és metódusok a csomagban lévő összes osztály számára láthatók. És csak nekik. Ezt a hozzáférési szintet néha " csomag-privát " hozzáférésnek is nevezik , mivel a változókhoz és metódusokhoz való hozzáférés nyitva áll az osztályukat tartalmazó teljes csomag számára.

Íme egy táblázat, amely összefoglalja a megbeszélteket:"

Módosítók Hozzáférés a…
Saját osztály Saját csomag Bármilyen osztály
magán Igen Nem Nem
Nincs módosító ( csomag-privát ) Igen Igen Nem
nyilvános Igen Igen Igen