Ambito di variabili in Java

è compreso per portata, portata o ambito di a Variabile, la parte del programma in cui la variabile è accessibile. Vedremo i tipi esistenti.

Come C / C ++, in Java, tutti gli identificatori hanno uno scopo lessicale (o statico). I programmi Java sono organizzati sotto forma di classi. Ogni classe fa parte di un pacchetto. Le regole dell’ambito di Java possono essere coperte nelle seguenti categorie.

Tabella del contenuto

1. Variabili del membro (ambito alla classe Livello)

Queste variabili devono essere dichiarate all’interno della classe (al di fuori del qualsiasi metodo). È possibile accedere direttamente a loro ovunque nella classe. Diamo un’occhiata ad un esempio:

public class Test{ //Todas las variables definidas directamente dentro de una clase //son variables miembro int a; private String b; void method1() {....} int method2() {....} char c;}
  • possiamo dichiarare le variabili di classe ovunque nella classe, ma al di fuori dei metodi.
  • L’accesso specificato delle variabili dei membri non influisce sull’ambito di applicazione all’interno di una classe.
  • Le variabili dei membri possono essere accessibili da una classe con le seguenti regole
Regole per le variabili dei membri al di fuori di una classe.

modificatore pacchetto sottoclasse
Public se
protetto se se
Predefinito (nessun modificatore) se no
privato NO NO

2. Locale Variabili (metodo a livello del metodo)

Variabili dichiarate D Immettere un metodo sono ambito di applicazione a livello del metodo e non è possibile accedere al di fuori del metodo.

public class Test{ void method1() { // Variable local (ámbito a nivel de método) int x; }}
× Nota: le variabili locali non esistono dopo che termina l’esecuzione del metodo.

Ecco un altro esempio del metodo Reach, tranne che questa volta la variabile viene passata come parametro per il metodo:

class Test{ private int x; public void setX(int x) { this.x = x; }}

Il codice precedente utilizza la parola chiave per differenziare le variabili locali e le variabili di classe.

> Div> Ulteriori informazioni

Parola chiave Questo

Come esercizio, prevede il risultato del seguente programma Java.

public class Test{ static int x = 11; private int y = 33; public void method1(int x) { Test t = new Test(); this.x = 22; y = 44; System.out.println("Test.x: " + Test.x); System.out.println("t.x: " + t.x); System.out.println("t.y: " + t.y); System.out.println("y: " + y); } public static void main(String args) { Test t = new Test(); t.method1(5); }}

Uscita:

Test.x: 22t.x: 22t.y: 33y: 44

3. Variabili in loop (ambito di blocco)

Una variabile dichiarata Dentro una coppia “{” e “}” in un metodo ha un intervallo solo all’interno delle staffe.

public class Test{ public static void main(String args) { { // La variable x tiene alcance dentro // los corchetes int x = 10; System.out.println(x); } // La línea de código comentada debajo produciría // error ya que la variable x está fuera del alcance. // System.out.println(x); }}

output:

10

Come un altro esempio, prendere in considerazione l’esecuzione del programma con A per.

class Test{ public static void main(String args) { for (int x = 0; x < 4; x++) { System.out.println(x); } // Producirá un error System.out.println(x); }}

Uscita:

11: error: cannot find symbol System.out.println(x);

Il modo corretto per fare quanto sopra è:

// El programa después de corregir el errorclass Test{ public static void main(String args) { int x; for (x = 0; x < 4; x++) { System.out.println(x); } System.out.println(x); }}

Uscita:

01234

Come esercizio fisico, prevede il risultato del seguente programma Java.

class Test{ public static void main(String args) { { int x = 5; { int x = 10; System.out.println(x); } } }}

Alcuni punti importanti sulla portata delle variabili In Java:

  • In generale, un set di tasti {} definisce un intervallo.
  • In Java, possiamo effettuare generalmente accedere a una variabile a condizione che sia stato definito all’interno del stesso set di staffe che il codice che stiamo scrivendo o all’interno di qualsiasi parentesi all’interno delle staffe dove è stata definita la variabile.
  • Qualsiasi variabile definita in una classe al di fuori di qualsiasi metodo può essere utilizzata da tutti i metodi membri.
  • Quando un metodo ha la stessa variabile locale come membro, la parola chiave “questo” Da utilizzare per fare riferimento alla variabile di classe corrente.
  • in modo che una variabile venga letta dopo la terminazione di un ciclo, deve essere dichiarata prima del corpo del ciclo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *