[Java Silver] Que sont les variables de classe, les variables d'instance et les variables locales?

Les différences entre les variables d'instance, les variables locales et les variables de classe sont résumées.

variable statique (variable de classe)

Variable d'instance

Variables définies directement sous la classe ** et en dehors de la ** méthode **

Variables locales

Une variable déclarée en ** dans une méthode ** Il n'y a pas de problème même si vous définissez une variable locale avec le même nom que ** variable d'instance et variable de classe **! !! !!

Vérifier avec 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();  //sorties du budget comme 9500
  
  System.out.println(Party.budget); //9500 et sortie
  System.out.println(P2.budget); //9500 et sortie
  
  P2.participants = 10;
  P2.remain();  //8500 et sortie
  
  System.out.println(Party.budget);  //8500 et sortie
  System.out.println(P1.budget);   //8500 et sortie
 }
}



class Party {
   int participants; //Variable d'instance
   static int budget;  //variable statique (variable de classe)

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

** - Lorsque vous avez une variable locale ** avec le même nom que la variable d'instance

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

  P1.remain();  //extrants budgétaires comme 8000
  
  System.out.println(Party.budget); //8000 et sortie
  System.out.println(P2.budget); //8000 et sortie
  

  P2.remain();  //6000 et sortie
  
  System.out.println(Party.budget);  //6000 et sortie
  System.out.println(P1.budget);   //6000 et sortie
 }
}

 class Party {
   int participants; //Variable d'instance
   static int budget;  //variable statique (variable de classe)

   void remain(){
       int participants = 20;  //Variable locale avec le même nom que la variable d'instance
       System.out.println(participants);
       budget -= participants*100;
       System.out.println(budget);
   }
 }  

Recommended Posts

[Java Silver] Que sont les variables de classe, les variables d'instance et les variables locales?
[Java] Différences entre les variables d'instance et les variables de classe
Pourquoi les variables de classe sont-elles nécessaires? [Java]
Les variables locales Java sont thread-safe
[Java] Que sont les remplacements et les surcharges?
Programmation Java (clause statique et "variables de classe")
Classe locale Java
Ce que j'ai appris en Java (partie 2) Que sont les variables?
[Java] Types de variables et types
[Introduction à Java] Portée de la variable (portée, variable locale, variable d'instance, variable statique)
Programmation Java (variables et données)
Définition et instanciation de classe Java
Différence entre les variables et les variables d'instance
[Variables environnementales] rails Quelles sont les variables environnementales?
Différence entre classe et instance
Quelles sont les variables pratiquement finales?
Que sont les méthodes de classe Ruby?
[Java] Qu'est-ce que l'héritage de classe?
Méthode de classe variable de classe Java
À propos des variables d'instance et attr_ *
[Notions de base Java] Qu'est-ce que la classe?
Que sont les métriques Java? _Memo_20200818
Qu'est-ce que la classe LocalDateTime? [Java débutant] -Date et classe d'heure-
[Java] Une classe est un système d'exploitation et une instance est un ordinateur virtuel.
Différence entre la méthode d'instance et la méthode de classe
Série Java Primer (variations et types)
[Java] Structure d'introduction Définition de classe Relation entre classe et instance Format de définition de méthode
Organiser les classes, les instances et les variables d'instance
[Java] Comment utiliser les modificateurs statiques (Que sont l'importation statique finale et statique)
Différence entre la variable d'instance et la variable de classe
Les variables de tableau Java sont des types de référence
Classe StringBuffer et StringBuilder en Java
Ce que j'ai appris avec Java Silver
Transition d'activité avec refactoring de classe JAVA et instance expérimentée côté Android
Qu'est-ce qu'une classe en langage Java (3 /?)
Java pour les débutants, les variables et les types
Comment passer l'examen Java Silver et comment apprendre
java jshell et var sont trop recommandés!
Différence entre la variable d'instance Ruby et la variable locale
Qu'est-ce qu'une classe en langage Java (1 /?)
Qu'est-ce que Java et l'environnement de développement (MAC)
Qu'est-ce qu'une classe en langage Java (2 /?)
Quelles sont les fonctionnalités mises à jour de Java 13
Que sont JDK, Oracle JDK, OpenJDK, Java SE?
[Java] Méthode d'instance, champ d'instance, méthode de classe, champ de classe, résumé du constructeur
Concept d'instance ・ Variable de type de classe ・ Constructeur ・ Membre statique
[Java] Comment utiliser la classe FileReader et la classe BufferedReader
[Ruby] Connaissance de base des variables d'instance de classe, etc.
Lorsqu'il y a des variables d'environnement dans les tests Java
[Java SE 11 Silver] Résumé des méthodes de classe Arrays [Java débutant]
Comparaison entre Java et Swift (1) Source control / Scope / Variables
Quel est le modificateur volatile pour les variables Java?
Quels sont les avantages de DI et de Thymeleaf?
[Java] Comment utiliser la classe Calendar et la classe Date