[Java Silver] Was sind Klassenvariablen, Instanzvariablen und lokale Variablen?

Die Unterschiede zwischen Instanzvariablen, lokalen Variablen und Klassenvariablen werden zusammengefasst.

statische Variable (Klassenvariable)

Instanzvariable

Variablen, die direkt unter der Klasse ** und außerhalb der ** Methode ** definiert sind

Lokale Variablen

Eine in ** innerhalb einer Methode ** deklarierte Variable Es gibt kein Problem, selbst wenn Sie eine lokale Variable mit demselben Namen wie ** Instanzvariable und Klassenvariable ** definieren! !! !!

Überprüfen Sie mit Code

public class Main{
 public static void main(String[] args){
  Party P1 = new Party();
  Party P2 = new Party();
  Party.budget = 10000;
  
  P1.participants = 5;
  P1.remain();  //Budgetausgaben als 9500
  
  System.out.println(Party.budget); //9500 und Ausgabe
  System.out.println(P2.budget); //9500 und Ausgabe
  
  P2.participants = 10;
  P2.remain();  //8500 und Ausgabe
  
  System.out.println(Party.budget);  //8500 und Ausgabe
  System.out.println(P1.budget);   //8500 und Ausgabe
 }
}



class Party {
   int participants; //Instanzvariable
   static int budget;  //statische Variable (Klassenvariable)

   void remain(){
       int expense = 100 * participants;  //Lokale Variablen
       budget -= expense;
       System.out.println(budget);
   }
}

** - Bei einer lokalen Variablen ** mit demselben Namen wie die Instanzvariable

public class Main{
 public static void main(String[] args){
  Party P1 = new Party();
  Party P2 = new Party();
  Party.budget = 10000;
  

  P1.remain();  //Budgetausgaben als 8000
  
  System.out.println(Party.budget); //8000 und Ausgabe
  System.out.println(P2.budget); //8000 und Ausgabe
  

  P2.remain();  //6000 und Ausgabe
  
  System.out.println(Party.budget);  //6000 und Ausgabe
  System.out.println(P1.budget);   //6000 und Ausgabe
 }
}

 class Party {
   int participants; //Instanzvariable
   static int budget;  //statische Variable (Klassenvariable)

   void remain(){
       int participants = 20;  //Lokale Variable mit demselben Namen wie die Instanzvariable
       System.out.println(participants);
       budget -= participants*100;
       System.out.println(budget);
   }
 }  

Recommended Posts

[Java Silver] Was sind Klassenvariablen, Instanzvariablen und lokale Variablen?
[Java] Unterschiede zwischen Instanzvariablen und Klassenvariablen
Warum werden Klassenvariablen benötigt? [Java]
Lokale Java-Variablen sind threadsicher
[Java] Was sind Überschreibungen und Überladungen?
Java-Programmierung (statische Klausel und "Klassenvariablen")
Lokale Java-Klasse
Was ich in Java gelernt habe (Teil 2) Was sind Variablen?
[Java] Variablen- und Typtypen
[Einführung in Java] Variablenbereich (Bereich, lokale Variable, Instanzvariable, statische Variable)
Java-Programmierung (Variablen und Daten)
Definition und Instanziierung von Java-Klassen
Unterschied zwischen Variablen und Instanzvariablen
[Umgebungsvariablen] Schienen Was sind Umgebungsvariablen?
Unterschied zwischen Klasse und Instanz
Was sind praktisch endgültige Variablen?
Was sind Ruby-Klassenmethoden?
[Java] Was ist Klassenvererbung?
Java-Klasse Variable Klassenmethode
Über Instanzvariablen und attr_ *
[Java-Grundlagen] Was ist Klasse?
Was sind Java-Metriken? _Memo_20200818
Was ist die LocalDateTime-Klasse? [Java-Anfänger] -Datum und Zeitklasse-
[Java] Eine Klasse ist ein Betriebssystem und eine Instanz ist ein virtueller Computer.
Unterschied zwischen Instanzmethode und Klassenmethode
Java Primer Series (Variationen und Typen)
[Java] Einführungsstruktur Klassendefinition Beziehung zwischen Klasse und Instanz Methodendefinitionsformat
Organisieren Sie Klassen, Instanzen und Instanzvariablen
[Java] Verwendung statischer Modifikatoren (Was sind statische endgültige und statische Importe)
Unterschied zwischen Instanzvariable und Klassenvariable
Java-Array-Variablen sind Referenztypen
StringBuffer- und StringBuilder-Klasse in Java
Was ich mit Java Silver gelernt habe
Aktivitätsübergang mit JAVA-Klassen-Refactoring und Instanz-Experimentieren auf Android-Seite
Was ist eine Klasse in der Java-Sprache (3 /?)
Java für Anfänger, Variablen und Typen
Wie man die Java Silver Prüfung ablegt und wie man lernt
Java Jshell und Var sind zu empfehlen!
Unterschied zwischen Ruby-Instanzvariable und lokaler Variable
Was ist eine Klasse in der Java-Sprache (1 /?)
Was ist Java und Entwicklungsumgebung (MAC)
Was ist eine Klasse in der Java-Sprache (2 /?)
Was sind die aktualisierten Funktionen von Java 13
Was sind JDK, Oracle JDK, OpenJDK, Java SE?
[Java] Instanzmethode, Instanzfeld, Klassenmethode, Klassenfeld, Konstruktorzusammenfassung
Konzept der Instanz ・ Klassentypvariable ・ Konstruktor ・ Statisches Element
[Java] Verwendung der FileReader-Klasse und der BufferedReader-Klasse
[Ruby] Grundkenntnisse über Klasseninstanzvariablen usw.
Wenn Java-Tests Umgebungsvariablen enthalten
[Java SE 11 Silver] Zusammenfassung der Arrays-Klassenmethoden [Java-Anfänger]
Vergleich zwischen Java und Swift (1) Quellcodeverwaltung / Umfang / Variablen
Was ist der flüchtige Modifikator für Java-Variablen?
Was sind die Vorteile von DI und Thymeleaf?
[Java] Verwendung der Kalenderklasse und der Datumsklasse