1. Variables statiques utilisées en statique en java
1. Les membres de Java qui sont modifiés par statique sont appelés membres statiques ou membres de la classe. Il appartient à toute la classe, pas à un objet, c'est-à-dire qu'il est partagé par tous les objets de la classe et existe en priorité sur les objets. Les membres statiques sont accessibles directement à l'aide de noms de classe ou de noms d'objets. Utilisez statique pour modifier les variables, les méthodes et les blocs de code.
2. Le modificateur public représente le public et le public et les variables statiques sont modifiées avec des variables statiques.
3. Dans une méthode statique, les membres statiques de la même classe peuvent être appelés directement, mais les membres non statiques ne peuvent pas être appelés directement.
classe publique hellorld {string name = "java"; // variable non statique statique hobby = "programmation"; // variable statique public static void print () {System.out.println ("bienvenue:" + name + "!"); // variable non statique System.out.println ("Bienvenue:" + Hobby + "!"); // peut appeler directement des variables statiques}}4. Si vous souhaitez appeler des variables non statiques dans une méthode statique, vous pouvez créer un objet de la classe, puis accéder aux variables non statiques via l'objet.
classe publique helloworld {string name = "java"; // variable non statique static string hobby = "programme"; // variable statique // appelant la variable non statique public static void print () {// créant l'objet de la classe helloworld hello = new Helloworld (); // Utilisez des objets pour appeler la variable non statique System.out.println dans une méthode statique ("Bienvenue:" + Hello.name + "!"); // Dans une méthode statique, vous pouvez appeler directement la variable statique System.out.printn ("Welcome to like" + programme + "" + hello.name); }}5. Dans les méthodes de membres ordinaires, vous pouvez accéder directement au même type de variables non statiques et de variables statiques.
classe publique hellorld {string name = "java"; // variable non statique statique hobby = "programmation"; // variable statique public void print () {// méthode normale System.out.println ("bienvenue:" + name + "!"); System.out.prinltn ("Bienvenue à aimer" + programme + "+ hello.name);}}6. Les méthodes non statiques ne peuvent pas être appelées directement dans des méthodes statiques. Les méthodes non statiques doivent être accessibles via des objets.
classe publique hellorld {string name = "java"; // variable non statique statique statique hobby = "programme"; // variable statique // méthode non statique public void show () {System.out.println ("Je suis une méthode non statique et je ne peux pas être appelée directement par la méthode statique ...."); } // Méthode statique public static void show2 () {System.out.println ("Je suis une méthode statique et peut être appelée directement par méthode statique"); } // La méthode non statique est appelée via des objets dans des méthodes statiques. Vous pouvez appeler directement la méthode statique publique statique void print () {// créer l'objet de la classe Helloworld bonjour = new Helloworld (); // Calculez la méthode non statique hello.show () dans la méthode statique; // Calculez la méthode statique Show2 (); }}2. Blocs d'initialisation statiques utilisés dans Java
1. Dans la déclaration de classe, plusieurs blocs d'initialisation peuvent être inclus. Lorsqu'une instance de la classe est créée, ces blocs de code seront exécutés à leur tour. Si vous utilisez statique pour modifier le bloc d'initialisation, il est appelé un bloc d'initialisation statique.
2. La différence entre les variables d'instance et les variables de classe:
a) Emplacement de stockage: les variables de classe sont stockées dans la zone de méthode lorsque la classe est chargée; Les variables d'instance existent dans la mémoire du tas lorsque l'objet est établi.
b) Cycle de vie: le cycle de vie d'une variable de classe est le plus long et disparaît à mesure que la classe disparaît; Le cycle de vie d'une variable d'instance disparaît lorsque l'objet disparaît.
3. Le bloc d'initialisation statique n'est exécuté que lorsque la classe est chargée et ne sera exécutée qu'une seule fois. Dans le même temps, le bloc d'initialisation statique ne peut attribuer des valeurs qu'aux variables statiques et ne peut pas initialiser les variables membre ordinaires. Lorsque le programme est en cours d'exécution, l'initialisation statique rapide est d'abord exécutée et a priorité sur la fonction principale, le bloc d'initialisation normal est exécuté, et enfin la méthode de construction est exécutée.
classe publique StaticDemo {int num1; // Déclare la variable 1 int num2; // Déclare la variable 2 statique int num3; // Déclare la variable statique 3 public staticdemo () {// méthode du constructeur num1 = 88; System.out.println ("Attribuer une valeur à la variable 1 via la méthode de construction"); } {// Block d'initialisation num2 = 99; System.out.println ("Attribuer une valeur à la variable 2 via le bloc d'initialisation"); } statique {// Initialisation statique Ici, vous ne pouvez pas gérer les variables normales attribuer la valeur num3 = 77; System.out.println ("Attribuer une valeur à la variable statique 3 via un bloc d'initialisation statique"); } public static void main (String [] args) {staticdemo hello = new staticdemo (); // crée l'objet de la classe Hello System.out.println ("num1:" + hello.num1); System.out.println ("num2:" + hello.num2); System.out.println ("num3:" + hello.num3); Staticdemo hello1 = new staticdemo (); }} Résultats en cours: