"Hej till min favoritstudent. Nu ska jag berätta om synligheten av variabler."

"Va? Kan variabler vara osynliga?"

"Nej. En variabels 'synlighet', eller omfattning, betyder de platser i koden där du kan referera till den variabeln. Du kan använda vissa variabler överallt i programmet, men andra kan bara användas inom sin klass, och ytterligare andra – bara inom en metod. "

"Du kan till exempel inte använda en variabel innan den har deklarerats."

"Det känns logiskt."

"Här är ett par exempel:"


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 som deklareras i en metod finns (är synlig) från början av dess deklaration till slutet av metoden.

2. En variabel deklarerad i ett kodblock existerar till slutet av kodblocket.

3. En metods parametrar finns överallt i metoden.

4. Variabler i ett objekt existerar under hela livslängden för objektet som innehåller dem. Deras synlighet definieras också av särskilda åtkomstmodifierare: offentlig och privat .

5. Statiska (klass)variabler existerar hela tiden programmet körs. Deras synlighet definieras också av åtkomstmodifierare.

"Jag älskar bilder. De hjälper till att göra allt tydligt."

"Bra pojke, Amigo. Jag har alltid vetat att du var en smart kille."

"Jag ska också berätta om " åtkomstmodifierare ". Var inte rädd. Det är inget komplicerat med dem. Här kan du se orden offentlig och privat ."

"Jag är inte rädd. Det är bara det att det rycker i ögat."

"Jag tror dig. Du kan hantera hur metoderna och variablerna för en klass nås av (eller är synliga för) andra klasser. Du kan bara tilldela en åtkomstmodifierare till varje metod eller variabel.

1. modifierare för allmänhetens tillgång.

Du kan använda en variabel, metod eller klass märkt med den offentliga modifieraren från var som helst i programmet. Detta är den högsta åtkomstnivån – det finns inga begränsningar här.

2. modifierare för privat åtkomst.

Du kan använda en variabel eller en metod markerad med den privata modifieraren endast från klassen den är deklarerad i. För alla andra klasser kommer den markerade metoden eller variabeln att vara osynlig, precis som om den inte existerade. Detta är den högsta nivån av slutenhet – tillgång endast inom sin egen klass.

3. Ingen modifierare.

Om en variabel eller en metod inte är markerad med någon modifierare, anses den vara markerad med en "standard" åtkomstmodifierare. Sådana variabler och metoder är synliga för alla klasser i paketet de är deklarerade i. Och endast för dem. Denna åtkomstnivå kallas ibland för ' paketprivat ' åtkomst, eftersom åtkomst till variablerna och metoderna är öppen för hela paketet som innehåller deras klass.

Här är en tabell som sammanfattar vad vi har diskuterat:"

Modifierare Tillgång från…
Egen klass Eget paket Vilken klass som helst
privat Ja Nej Nej
Ingen modifierare ( paket-privat ) Ja Ja Nej
offentlig Ja Ja Ja