Java-Variablenbereich (Bereich)

Dieser Artikel wurde für Personen geschrieben, die in anderen Sprachen programmieren und die Programmierung in Java ausprobieren möchten.

Was ist ein Umfang

Ein Bereich ist ein verwendbarer Bereich. Der Bereich ist nicht auf Variablen beschränkt, sondern wird als Bereich bezeichnet. Dieses Mal werde ich ein Beispiel für den Umfang der Variablen geben. Beispiel 1) スクリーンショット_2020-05-14_11_33_19.png Wie Sie sehen, können Sie Kettenvariablen nicht direkt aus main holen. Mit anderen Worten, der i-Bereich der Kette befindet sich in der Kette, und der i-Bereich von main befindet sich in main. Beispiel 2) スクリーンショット_2020-05-14_11_49_55.png Der in der if-Anweisung deklarierte Wert kann nur in der if-Anweisung verwendet werden. Wenn Sie es an anderer Stelle verwenden möchten, ist es kein Problem, wenn Sie den außerhalb der if-Anweisung deklarierten Wert so ändern, dass er in der if-Anweisung ausgeführt wird. スクリーンショット_2020-05-14_11_50_34.png

Globale und lokale Variablen

Es gibt zwei Arten von Variablen: globale Variablen und lokale Variablen. Lokale Variablen sind Werte (= endlicher Bereich), die nur innerhalb des oben genannten Bereichs verwendet werden können. Globale Variablen sind dagegen Scopeless-Variablen. Die globale Variable selbst ist in Java nicht vorhanden, kann sich jedoch im selben Status wie die globale Variable befinden. Die Beschreibungsmethode ist die Beschreibung öffentlicher statischer Variablen. Beispiel) スクリーンショット_2020-05-14_13_07_38.png Globale Variablen können von überall aus referenziert werden, sodass Sie ihre Werte aus anderen Klassen ändern können. Es hat enorme Auswirkungen. Verwenden Sie es daher nur, wenn Sie es benötigen, und verwenden Sie nach Möglichkeit lokale Variablen.

öffentlich und statisch

Ich erwähnte, dass globale Variablen als öffentliche statische Variablen beschrieben werden. Dies liegt daran, dass die Stellen (Bereiche) erweitert werden, an denen sowohl öffentliche als auch statische Elemente verwendet werden können. Ich werde auch diese beiden Punkte erklären.

Zugriffsmodifikator

public ist einer der Zugriffsmodifikatoren. Ich werde dir eins nach dem anderen geben. ・ Die Öffentlichkeit hat keine Einschränkungen. · Geschützt ermöglicht nur den Zugriff innerhalb einer Klasse oder einer Unterklasse, die von der Klasse erbt. -Wenn nichts angehängt ist, kann von allen Klassen im selben Paket darauf zugegriffen werden. -Private kann nur innerhalb der Klasse aufgerufen werden.

Von diesen wurde die Bewegung mit Ausnahme der geschützten Variablen bestätigt, aber da die geschützte Bewegung unerwartet war, handelt es sich um eine andere Bedingung als einmal geschützt. Bestätigungsprogramm

practice.java



class Main {
  public static String pubstr = "Öffentlichkeit";
  protected static String prostr = "geschützt";
  static String str = "Keiner";
  private static String pristr = "Privat";
  
  public static void main(String[] args) {
    System.out.println(pubstr); //Öffentlichkeit
    System.out.println(str); //Keiner
    System.out.println(pristr); //Privat

    check();
    Sub subclass = new Sub();
    subclass.sub();
  }

  public static void check() {
    System.out.println(pubstr); //Öffentlichkeit
    System.out.println(str); //Keiner
    System.out.println(pristr); //Privat
  }
}

class Sub {
  public void sub() {
    Main m = new Main();
    System.out.println(m.pubstr); //Öffentlichkeit
    System.out.println(m.str); //Keiner
    System.out.println(m.pristr); //Fehler, da privat nicht abgerufen werden kann
  }
}

static Statisch bedeutet, dass Sie auch statische Methoden verwenden können (Methoden mit statischen). Zeigen Sie ein konkretes Beispiel.

practice.java


class Main {
  public int ni = 10;
  public static int si = 7;
  int di = 999;
  
  public static void main(String[] args) {
    System.out.println(ni); //Fehler, da ni keine statische Variable ist
    System.out.println(si); //Da si eine statische Variable ist, wird 7 ausgegeben
  }

  public void check(String[] args) {
    System.out.println(ni); //10 wird ausgegeben, da check keine statische Methode ist
    System.out.println(si); //7 wird ausgegeben, da check keine statische Methode ist
  }
}

Auf diese Weise können in statischen Methoden nur Variablen mit statischer Aufladung verwendet werden.

Recommended Posts

Java-Variablenbereich (Bereich)
Java-Variablenbereich
Java-Array-Variable
Java-Variablendeklaration
Java-Sitzungsumfang
[Java] Namensnotiz des Variablennamens
Informationen zu Java-Variablendeklarationsanweisungen
Übergeben Sie Variablen an Scope.
Umfang
Java
Java-Variablenbereich (Bereich, in dem Variablen angezeigt werden)
[Einführung in Java] Variablenbereich (Bereich, lokale Variable, Instanzvariable, statische Variable)
Java
Java Servlet / JSP-Anforderungsbereich Teil 1
Deklaration, Initialisierung und Typen von Java-Variablen
[Java] Objektorientierte Syntaxklasse / Feld / Methode / Bereich
Java Servlet / JSP-Anforderungsbereich Teil 2
Einstellungen für Java-Umgebungsvariablen (Windows, AdoptOpenJDK11)
So schreiben Sie eine Java-Variablendeklaration
Weisen Sie Java-Variablen Bewertungsergebnisse zu
[Grundkenntnisse in Java] Umfang der Variablen
Java lernen (0)
Java studieren ―― 3
[Java] -Array
Java geschützt
[Java] Anmerkung
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java (Konstruktor)
Erstellen Sie Binärdaten variabler Länge in Java
[Java] ArrayDeque
statische Variable
Java (überschreiben)
Java (Methode)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java Anfänger 4
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
[Java ~ Informationen zur Variablendefinition und Typkonvertierung ~] Studiennotiz
Java reflektierend 获 获 举
Java-Memorandum
Java-Array
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Überprüfung
Java-Framework
[Java] Vererbung
FastScanner Java
Java Anfänger 3
Java (Kapselung)
Java-Vererbung