"Bună ziua studentului meu preferat. Acum am să vă spun despre vizibilitatea variabilelor."

"Nu? Pot variabilele să fie invizibile?"

„Nu. „Vizibilitatea” sau domeniul de aplicare a unei variabile înseamnă locurile din cod în care vă puteți referi la acea variabilă. Puteți utiliza unele variabile peste tot în program, dar altele pot fi folosite numai în cadrul clasei lor, iar altele – doar într-o singură metodă.

„De exemplu, nu puteți folosi o variabilă înainte de a fi declarată.”

"Are sens."

„Iată câteva exemple:”


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. O variabilă declarată într-o metodă există (este vizibilă) de la începutul declarației sale până la sfârșitul metodei.

2. O variabilă declarată într-un bloc de cod există până la sfârșitul blocului de cod.

3. Parametrii unei metode există peste tot în cadrul metodei.

4. Variabilele dintr-un obiect există pe toată durata de viață a obiectului care le conține. Vizibilitatea lor este definită și de modificatori speciali de acces: public și privat .

5. Variabilele statice (clasă) există tot timpul în care programul rulează. Vizibilitatea lor este definită și de modificatorii de acces.

"Îmi plac pozele. Ele ajută să clarifice totul."

"Băiat bun, Amigo. Am știut întotdeauna că ești un tip deștept."

„Îți voi spune și despre „ modificatorii de acces ”. Nu te speria. Nu este nimic complicat la ei. Aici poți vedea cuvintele public și private .”

"Nu mi-e frică. Doar că ochiul îmi zvâcnește."

„Te cred. Puteți gestiona modul în care metodele și variabilele unei clase sunt accesate de (sau vizibile) altor clase. Puteți aloca un singur modificator de acces fiecărei metode sau variabile.

1. modificator de acces public .

Puteți utiliza o variabilă, o metodă sau o clasă marcată cu modificatorul public de oriunde în program. Acesta este cel mai înalt nivel de acces – nu există limitări aici.

2. modificator de acces privat .

Puteți utiliza o variabilă sau o metodă marcată cu modificatorul privat numai din clasa în care este declarată. Pentru toate celelalte clase, metoda sau variabila marcată va fi invizibilă, ca și cum nu ar exista. Acesta este cel mai înalt nivel de închidere - acces numai în cadrul propriei sale clase.

3. Fără modificator.

Dacă o variabilă sau o metodă nu este marcată cu niciun modificator, se consideră că este marcată cu un modificator de acces „implicit”. Astfel de variabile și metode sunt vizibile pentru toate clasele din pachetul în care sunt declarate. Și numai pentru acestea. Acest nivel de acces este uneori numit acces „ pachet-privat ”, deoarece accesul la variabile și metode este deschis pentru întregul pachet care conține clasa lor.

Iată un tabel care rezumă ceea ce am discutat:"

Modificatori Acces de la…
Clasa proprie Pachet propriu Orice clasa
privat da Nu Nu
Niciun modificator ( pachet-privat ) da da Nu
public da da da