Zakres zmiennych/metod w Javie | Wyjaśnione

Zakres zmiennych/metod w Javie | Wyjaśnione
W świecie programowania termin zakres odnosi się do obszaru programu, w którym dostępne są pewne dane. W językach programowania zmienne i metody powinny mieć samozadowolenie i musi być również unikalne, jednak jednocześnie musisz zachować unikalną, samozadowoloną i zwięzłą nazwę, która może być nieco trudna Jeśli program jest bardzo długi.

Dlatego języki programowania oferują pojęcie zakresu, który mówi, że nie wszystkie zmienne/metody istnieją wszędzie w programie, te zmienne i metody będą dostępne w obszarze, w którym są tworzone.

Ten zapis stanowi głębokie zrozumienie następujących pojęć:

  • Zakres zmiennej w Javie
  • Zakres klasowy w Javie
  • Zakres na poziomie metod w Javie
  • Zakres na poziomie bloków w Javie

Więc zacznijmy!

Zakres zmiennej w Javie

Określa, czy zmienna będzie dostępna w ramach całego programu, w ramach metody, czy też jest dostępna również w innych klasach. Tak więc, najprościej, zakres zmiennych określa, że ​​zmienne są dostępne tylko w obszarze, w którym są tworzone.

Przykład

Poniższy fragment zapewni lepsze zrozumienie zmiennego zakresu

Methodscope klasy publicznej
public static void main (string [] args)
// zmiennej „nazwy” nie można tutaj użyć
Nazwa ciągu = „John”;
// dalej „nazwa” może być używana w dowolnym miejscu w metodzie
System.na zewnątrz.println (nazwa);

Rozważmy przykład, aby sprawdzić, co będzie wyjściem, jeśli spróbujemy uzyskać dostęp do zmiennej przed jej deklaracją:

Powyższy fragment uwierzytelnia się, że zmienną przed jej deklaracją nie można uzyskać dostępu.

Zakres klasowy w Javie

Zmienne zadeklarowane w klasie można uzyskać wszystkie funkcje w tej klasie w zależności od modyfikatora/specyfikatora dostępu I.mi. publiczne, prywatne itp. W niektórych przypadkach (ja.mi. W publicznych modyfikatorach dostępu i użyciu obiektów tej konkretnej klasy) możemy uzyskać dostęp i wywołać zmienne i metody poza klasą.

Przykład

Aby uzyskać głębokie zrozumienie pojęć, rozważ poniższy fragment kodu:

Pakiet Javascope;
klasa classexample1
String publiczny var1;
private int var2;
public void funkcja1 (string var1, int var2)
// var1, var2 można uzyskać tutaj
System.na zewnątrz.println („funkcja 1”);

private void funkcja2 (int var3)
// var1, var2 można uzyskać tutaj
System.na zewnątrz.println („funkcja2”);


klasa publiczna mainClass
public static void main (string [] args)
Classexample1 obj = new classexample1 ();
// zmienne publiczne można uzyskać w tej klasie
// Metody/funkcje publiczne można wywołać stąd
funkcja 1 („zakres”, 5);
Nazwa ciągu = obj.var1;
// zmienne prywatne można uzyskać w tej klasie
int id = obj.var2; // rzuca błąd, nie mogę uzyskać dostępu do prywatnych zmiennych innych klas tutaj
// Prywatne metody/funkcje nie można wywołać stąd
obj.funkcja2 (4);

Kompletny fragment kodu będzie wyglądał tak:

Z powyższego fragmentu widzieliśmy, że można uzyskać dostęp i wywołanie zmiennych i metod publicznych. Nie możemy jednak uzyskać dostępu do prywatnych zmiennych jednej klasy do innej klasy, nawet za pomocą obiektu klasowego.

Zakres na poziomie metod w Javie

Zmienna deklaracja/utworzona w metodzie będzie dostępna w dowolnym miejscu w tej metodzie po jej deklaracji, jednak nie będzie dostępna przed jej deklaracją. Ponadto dostęp do zmiennej jednej metody w ramach innej metody nie jest możliwy, a jeśli mówimy o metodach, możemy również wywołać jedną metodę w ramach innych metod.

Poniższy fragment zapewni lepsze zrozumienie zakresu metody w Javie:

Przykład

Rozważmy poniższy zrzut ekranu, aby uzyskać głębokie zrozumienie zakresu na poziomie metody:

Z powyższego fragmentu wynika, że ​​nie możemy uzyskać dostępu do zmiennej jednej metody w ramach innych metod, jednak możemy wywołać metodę z innych metod.

Zakres na poziomie bloków w Javie

Wszystko, co pojawia się w nawiasy kręcone jest określany jako zakres blokowy, a zmienne utworzone w bloku kodu będą dostępne kodem dostarczanym między klamrami kręconymi. Zmienne zadeklarowane w zakresie bloków nie byłyby dostępne poza zakresem bloku.

Przykład

W tym przykładzie tworzymy dwie zmienne o zakresie poziomu metody i zainicjujemy je niektóre wartości:

public static void main (string [] args)
Nazwa ciągu = „John”;

int id = 0;
dla (int i = 0; i <= 5; i++)
id ++;
if (id == 4)
System.na zewnątrz.println („id:” + id);
System.na zewnątrz.println („nazwa:” + nazwa);




Używamy pętli, która iteruje pięć razy i wydrukuje nazwa Kiedy „id = 4”. Poniżej sinippet zapewni pełne zrozumienie zakresu i wyświetla również dane wyjściowe:

Fragment weryfikuje, że skutecznie uzyskuje dostęp do obu zmiennych i.mi. Imię, id.

Zmienne utworzone na poziomie bloków nie byłyby dostępne przed rozpoczęciem lub po zakończeniu zakresu poziomu blokowego, jak pokazano na zrzucie ekranu poniżej:

Powyższy fragment weryfikuje, że błąd występuje, gdy próbujemy uzyskać dostęp do zmiennej poziomu bloków poza zakresem bloku.

Wniosek

Zmienna zadeklarowana w zakresie metody będzie dostępna tylko wewnątrz metody, a zmienna zadeklarowana w zakresie bloków będzie dostępna w zakresie bloków. Nie możemy uzyskać dostępu do zmiennej przed jej deklaracją, a dostęp do zmiennych poza zakresem spowoduje błąd. Ten pismo przedstawia kompleksowy przewodnik dla zakresu zmiennych i metod w Javie.