"Hej til min yndlingsstuderende. Nu vil jeg fortælle dig om synligheden af ​​variabler."

"Hva? Kan variabler være usynlige?"

"Nej. En variabels 'synlighed' eller omfang betyder de steder i koden, hvor du kan henvise til den pågældende variabel. Du kan bruge nogle variable overalt i programmet, men andre kan kun bruges inden for deres klasse, og atter andre – kun inden for én metode. "

"Du kan for eksempel ikke bruge en variabel, før den er blevet erklæret."

"Det giver mening."

"Her er et par eksempler:"


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. En variabel erklæret i en metode eksisterer (er synlig) fra starten af ​​dens erklæring til slutningen af ​​metoden.

2. En variabel erklæret i en kodeblok eksisterer indtil slutningen af ​​kodeblokken.

3. En metodes parametre findes overalt i metoden.

4. Variabler i et objekt eksisterer i hele levetiden af ​​det objekt, der indeholder dem. Deres synlighed er også defineret af særlige adgangsmodifikatorer: offentlig og privat .

5. Statiske (klasse) variabler eksisterer hele tiden programmet kører. Deres synlighed er også defineret af adgangsmodifikatorer.

"Jeg elsker billeder. De hjælper med at gøre alt klart."

"God dreng, Amigo. Jeg har altid vidst, at du var en klog fyr."

"Jeg vil også fortælle dig om ' adgangsmodifikatorer '. Vær ikke bange. Der er ikke noget kompliceret ved dem. Her kan du se ordene offentlig og privat ."

"Jeg er ikke bange. Det er bare, at mit øje rykker."

"Jeg tror på dig. Du kan administrere, hvordan metoderne og variablerne i en klasse tilgås af (eller er synlige for) andre klasser. Du kan kun tildele én adgangsmodifikator til hver metode eller variabel.

1. offentlig adgangsmodifikator.

Du kan bruge en variabel, metode eller klasse markeret med den offentlige modifikator fra hvor som helst i programmet. Dette er det højeste adgangsniveau - der er ingen begrænsninger her.

2. modifikator for privat adgang.

Du kan kun bruge en variabel eller en metode markeret med den private modifikator fra den klasse den er erklæret i. For alle andre klasser vil den markerede metode eller variabel være usynlig, ligesom om den ikke eksisterer. Dette er det højeste niveau af lukkethed - kun adgang inden for sin egen klasse.

3. Ingen modifikator.

Hvis en variabel eller en metode ikke er markeret med nogen modifikator, anses den for at være markeret med en "standard" adgangsmodifikator. Sådanne variabler og metoder er synlige for alle klasser i den pakke, de er erklæret i. Og kun for dem. Dette adgangsniveau kaldes nogle gange ' pakke-privat ' adgang, da adgang til variablerne og metoderne er åben for hele pakken, der indeholder deres klasse.

Her er en tabel, der opsummerer, hvad vi har diskuteret:"

Modifikatorer Adgang fra…
Egen klasse Egen pakke Enhver klasse
privat Ja Ingen Ingen
Ingen modifikator ( pakke-privat ) Ja Ja Ingen
offentlig Ja Ja Ja