[Java] Différences entre les variables d'instance et les variables de classe

Objectif

Pour comprendre la différence entre les variables d'instance et les variables de classe

Environnement de vérification

Code source de vérification

** 1. Variables de classe et d'instance **

qiita.java


public class Oimo {
	public static int CNT_CLASS; //Variable de classe
	public int CNT_INSTANCE; //Variable d'instance
}

** 2. Essayez les variables de classe **

qiita.java


public class Kensho01 {

	public static void main(String[] args) {
		//Variable de classe
		Oimo oimo3 = new Oimo();
		Oimo oimo4 = new Oimo();

		oimo3.CNT_CLASS = 30;

		System.out.println(oimo4.CNT_CLASS); //30 est la sortie
	}
}

** 3. Essayez les variables d'instance **

qiita.java


public class Kensho01 {

	public static void main(String[] args) {
		//Variable d'instance
		Oimo oimo1 = new Oimo();
		Oimo oimo2 = new Oimo();

		oimo1.CNT_INSTANCE = 10;

		System.out.println(oimo2.CNT_INSTANCE); //0 est la sortie
	}
}

Procédure de mise en œuvre

--Préparez la classe Oimo avec des variables de classe et des variables d'instance. Créez deux instances Oimo, définissez les valeurs des variables de classe et d'instance de la première instance, puis vérifiez les valeurs des variables de classe et d'instance définies pour la deuxième instance Oimo.

Résultats de la mise en œuvre

--Lorsque j'ai défini la variable de classe de la première instance sur 30, la variable de classe de la deuxième instance a également été définie sur 30. --Lorsque j'ai défini la variable d'instance de la première instance sur 10, la variable d'instance de la deuxième instance a été définie sur 0.

Considération

Il a été constaté que les variables d'instance sont des variables référencées pour chaque instance et que les variables de classe sont des variables couramment référencées par plusieurs instances. Cette connaissance est importante si vous souhaitez créer un programme thread-safe.

A bientôt (^_^) Noshi

Recommended Posts

[Java] Différences entre les variables d'instance et les variables de classe
Différence entre les variables et les variables d'instance
Différence entre classe et instance
[Java Silver] Que sont les variables de classe, les variables d'instance et les variables locales?
Différence entre la méthode d'instance et la méthode de classe
Différences entre Java "débutant" et Kotlin
Différence entre la variable d'instance et la variable de classe
À propos de la différence entre la classe Applet et la classe JApplet
Différences entre Java et .NET Framework
Programmation Java (clause statique et "variables de classe")
[Java] Structure d'introduction Définition de classe Relation entre classe et instance Format de définition de méthode
[Java] Types de variables et types
Résumer les différences entre l'écriture C # et Java
[Java] Différence entre == et égal
Programmation Java (variables et données)
[Java] Différence entre statique final et final dans les variables membres
Définition et instanciation de classe Java
Relation entre le package et la classe
Méthode de classe variable de classe Java
Différences entre IndexOutOfBoundsException et ArrayIndexOutOfBoundsException
À propos des variables d'instance et attr_ *
[Apprentissage Java Bronze] Différence entre l'encapsulation, le masquage des données et le masquage des informations
Pensez aux différences entre les fonctions et les méthodes (en Java)
Différences dans la gestion des chaînes entre Java et Perl
[Java] Une classe est un système d'exploitation et une instance est un ordinateur virtuel.
Pourquoi les variables de classe sont-elles nécessaires? [Java]
Différence entre interface et classe abstraite
[Java] Différence entre Hashmap et HashTable
Série Java Primer (variations et types)
Organiser les classes, les instances et les variables d'instance
Classe StringBuffer et StringBuilder en Java
[JAVA] Différence entre abstrait et interface
[Java] Relation entre H2DB et JDBC
[Java] Différence entre array et ArrayList
[Java] Différence entre fermable et fermable automatiquement
[Java] Différence entre StringBuffer et StringBuilder
[Java] Différence entre longueur, longueur () et taille ()
[Ruby] Relation entre la classe parent et la classe enfant. Relation entre classe et instance.
Facile à comprendre la différence entre la méthode d'instance Ruby et la méthode de classe.
Conversion entre Kotlin nullable et Java facultative
Relation entre les modificateurs d'accès kotlin et java
Différence entre final et immuable en Java
Différence entre la variable d'instance Ruby et la variable locale
Différence entre la préface et le suffixe des opérateurs
[Note] Coopération entre Java et DB (basique)
[Java] Méthode d'instance, champ d'instance, méthode de classe, champ de classe, résumé du constructeur
Différence entre les chaînes de caractères et les symboles Ruby [Débutant]
[Java] Différence entre la plage Intstream et la plageClosed
Différence entre int et Integer en Java
HashMap # putAll () se comporte différemment entre Java 7 et Java 8
Une note sur les différences entre les interfaces et les classes abstraites en Java
Transition d'activité avec refactoring de classe JAVA et instance expérimentée côté Android
[Java] Comprendre la différence entre List et Set
[Java] sortie, variables
Méthodes de classe Java
Concept d'instance ・ Variable de type de classe ・ Constructeur ・ Membre statique
Classe et modèle
[Java] Héritage de classe
[Java] Comment utiliser la classe FileReader et la classe BufferedReader