Ambito di variabili/metodi in Java | Spiegato

Ambito di variabili/metodi in Java | Spiegato
Nel mondo della programmazione, il termine ambito si riferisce all'area di un programma in cui alcuni dati sono accessibili. Nei linguaggi di programmazione, le variabili e i metodi dovrebbero avere un nome autoesplicativo e deve anche essere unico, tuttavia allo stesso tempo, devi mantenere un nome unico, autoesplicativo e conciso che può essere un po 'difficile Se il programma è molto lungo.

Pertanto i linguaggi di programmazione offrono il concetto di ambito che dice che non esistono tutte le variabili/metodi ovunque nel programma, invece queste variabili e metodi saranno accessibili nell'area in cui vengono create.

Questo articolo presenta una profonda comprensione dei seguenti concetti:

  • Portata della variabile in java
  • Scope a livello di classe in Java
  • Ambito a livello di metodo in Java
  • Scope a livello di blocco in Java

Quindi iniziamo!

Portata della variabile in java

Determina se la variabile sarà accessibile all'interno dell'intero programma, all'interno di un metodo o è accessibile anche tra le altre classi. Quindi in parole semplici, l'ambito delle variabili determina che le variabili sono accessibili solo all'interno dell'area in cui vengono create.

Esempio

Lo snippet seguente fornirà una migliore comprensione dell'ambito variabile

MethodScope della classe pubblica
public static void main (string [] args)
// Il "nome" variabile non può essere usato qui
String name = "John";
// di seguito "nome" può essere usato ovunque nel metodo
Sistema.fuori.println (nome);

Consideriamo un esempio per testare quello che sarà l'output, se proviamo ad accedere a una variabile prima della sua dichiarazione:

Lo snippet di cui sopra autentica che la variabile prima della sua dichiarazione non è possibile accedere.

Scope a livello di classe in Java

Le variabili dichiarate all'interno di una classe sono accessibili da tutte le funzioni di quella classe a seconda del suo modificatore di accesso/specificatore I.e. pubblico, privato, ecc. In alcuni casi (i.e. Nei modificatori di accesso pubblico e utilizzando oggetti di quella classe specifica), possiamo accedere e chiamare anche le variabili e i metodi al di fuori della classe.

Esempio

Per la profonda comprensione dei concetti, considerare lo snippet di codice seguente:

pacchetto javascope;
class Classexample1
stringa pubblica var1;
privato int var2;
public void function1 (String var1, int var2)
// var1, è possibile accedere a VAR2 qui
Sistema.fuori.println ("function1");

Funzione privata void2 (int var3)
// var1, è possibile accedere a VAR2 qui
Sistema.fuori.println ("function2");


Classe pubblica Mainclass
public static void main (string [] args)
ClassExample1 obj = new Classexample1 ();
// è possibile accedere a variabili pubbliche in questa classe
// Metodi/funzioni pubbliche possono essere chiamati da qui
function1 ("portata", 5);
Nome stringa = obj.var1;
// è possibile accedere a variabili private in questa classe
int id = obj.var2; // lancia un errore, non riesco ad accedere alle variabili private di altre classi qui
// Metodi/funzioni private non possono essere chiamati da qui
obj.funzione2 (4);

Lo snippet di codice completo sarà simile a questo:

Dallo snippet sopra abbiamo visto che le variabili e i metodi pubblici possono essere accessibili e chiamati in altre classi e anche usando l'oggetto ". Tuttavia, non possiamo accedere alle variabili private di una classe ad altre classi anche con l'aiuto di un oggetto di classe.

Ambito a livello di metodo in Java

La variabile dichiara/creata all'interno del metodo sarà accessibile ovunque in quel metodo dopo la sua dichiarazione, tuttavia non sarebbe accessibile prima della sua dichiarazione. Inoltre, l'accesso alla variabile di un metodo all'interno dell'altro metodo non è possibile e se parliamo in particolare di metodi, possiamo anche chiamare un metodo all'interno di altri metodi.

Lo snippet di seguito fornirà una migliore comprensione dell'ambito del metodo in Java:

Esempio

Consideriamo lo screenshot seguente per una profonda comprensione dell'ambito a livello di metodo:

Dallo snippet sopra è chiaro che non possiamo accedere alla variabile di un metodo all'interno di altri metodi, possiamo chiamare un metodo da altri metodi.

Scope a livello di blocco in Java

Tutto ciò che arriva all'interno del parentesi graffe viene indicato come ambito del blocco e le variabili create all'interno del blocco del codice saranno accessibili dal codice che si verifica tra le parentesi graffe. Le variabili dichiarate nell'ambito del blocco non sarebbero accessibili al di fuori dell'ambito del blocco.

Esempio

In questo esempio creiamo due variabili con l'ambito a livello del metodo e inizializziamo alcuni valori:

public static void main (string [] args)
String name = "John";

int id = 0;
per (int i = 0; i <= 5; i++)
id ++;
if (id == 4)
Sistema.fuori.println ("id:" + id);
Sistema.fuori.println ("nome:" + nome);




Utilizziamo il ciclo for che iterirà cinque volte e stampa il nome Quando "id = 4". Il sotto-imippet fornirà una comprensione completa dell'ambito e visualizza anche l'output:

Lo snippet verifica che accede correttamente a entrambe le variabili i.e. nome, id.

Le variabili create a livello di blocco non sarebbero accessibili prima dell'inizio o dopo la fine dell'ambito a livello di blocco come mostrato nello screenshot di seguito:

Lo snippet sopra verifica che si verifichi un errore quando proviamo ad accedere alla variabile di livello a blocchi all'esterno dell'ambito del blocco.

Conclusione

Una variabile dichiarata nell'ambito del metodo sarà accessibile solo all'interno del metodo e una variabile dichiarata nell'ambito del blocco sarà accessibile all'interno dell'ambito del blocco. Non possiamo accedere a una variabile prima della sua dichiarazione e accedere alle variabili al di fuori dell'ambito comporterà un errore. Questo articolo presenta una guida completa per l'ambito di variabili e metodi in Java.