statique: (modificateur statique) Le contenu de la modification statique dans un objet orienté objet appartient à la classe, non directement affilié à l'objet, de sorte que les variables membre modifiées par statique sont généralement appelées variables de membre de la classe, et la méthode de modification statique est généralement appelée méthodes de classe.
Classification:
1. Variables statiques, également appelées variables statiques ou variables de classe. Un autre type est une variable qui n'est pas modifiée par statique, appelée variable d'instance.
2. La méthode statique, également appelée méthode statique ou méthode de classe, ne peut pas définir des variables statiques dans les méthodes statiques, et les méthodes d'instance ne peuvent pas.
3. Bloc de code statique, dans un bloc statique, vous pouvez accéder aux variables statiques et appeler des méthodes statiques.
Notes:
1. Si statique ne dépend d'aucun objet, il n'y a pas cette méthode.
2. La méthode statique ne peut pas appeler une méthode non statique, mais une méthode non statique peut appeler une méthode statique.
3. Les méthodes ou variables modifiées par statique n'ont pas besoin de s'appuyer sur des objets pour l'accès. Tant que la classe est chargée, ils sont accessibles via le nom de la classe.
4. La méthode statique ne peut pas être réécrite. Lorsque la sous-classe et la classe parent ont la même méthode statique, l'appel par défaut est la méthode statique de la classe parent et la méthode statique de la sous-classe est cachée.
5. Les blocs statiques sont généralement utilisés pour initialiser les variables statiques dans les classes. Sur la base du contenu des modifications statiques, le principe de la première définition et de la première exécution est suivi.
6. Si les variables ou les méthodes sont souvent appelées, utilisez une modification statique. Sinon, utilisez-le moins pour éviter les fuites de mémoire.
Exemple de code de variables statiques:
Test de classe publique {statique int a = 1; // variable statique int b = 2; // Instance variable public static void main (String [] args) {System.out.println (test.a); //System.out.print(a);system.out.println(b); // La variable de sortie directe B rapportera une erreur Test T = new Test (); // Créer des objets d'instance System.out.println (TB); // Variable des appels d'objet}}Exemple de code pour les méthodes statiques:
Test de classe publique {statique int a = 1; // variable statique int b = 2; // Variable d'instance void statique a () {// méthode statique b (); // une erreur est rapportée, la méthode statique ne peut pas appeler la méthode non statique System.out.println (test.a); //System.out.print(a); }void b () {// Méthode non statique test.a (); //UN(); La méthode non statique peut appeler la méthode statique System.out.println (b); System.out.println (test.a); //System.out.print(a); }public static void main (String [] args) {test.a (); // a (); b (); // Une erreur est signalée, les méthodes non statiques doivent être appelées via un objet d'instance Test T = new Test (); tb ();}} / * * peut-il être réécrit * / class StateSon étend le test {// sous-classe hérite de la classe parentaire void a () {// Une erreur est rapportée, la méthode statique de la classe parent ne peut pas être réécrite /*..**/* Méthode statique de la sous-classe, à proprement parler, ce n'est pas une méthode statique de la classe parent}}Exemple de code de bloc statique:
Test de classe publique {int c = 3; statique int a = 1; statique int b = 2; statique {a = 10; b = 20; c = 30; // Rapport une erreur, la variable dans le bloc statique doit être la variable statique System.out.println (a + b);} public static void main (String [] args) {test t = new test (); system.out.println (tc); // Exécuter d'abord la variable statique, puis exécuter la variable d'instance}} Final: Comprendre comme immuable.
Notes:
1. Final et statique sont souvent utilisés ensemble.
2. Les variables modifiées par final ne peuvent être attribuées qu'une seule fois.
3. La méthode finale ne peut pas être réécrite, mais peut être surchargée.
4. La classe finale ne peut pas être héritée.
5. Les deux mots clés finaux et abstraits sont opposés, et il est impossible de modifier la classe en même temps. Parce que Final ne peut pas être réécrit et le résumé doit être réécrit.
6. Le mot-clé final est différent du mot-clé final, qui est utilisé pour la gestion des exceptions.
7. Dans la plupart des cas, Final n'est pas utilisé pour modifier les méthodes et les classes car elles ne sont pas évolutives.
8. Final peut être utilisé dans un certain environnement pour améliorer les performances en cours d'exécution du programme et optimiser la structure du programme.
Exemple de code des variables finales et des classes finales:
Test de classe finale publique {final statique int a = 1; statique {a = 10; // Signaler une erreur, une seule opération d'attribution peut être effectuée}} Class FinalSon étend le test {// Signaler une erreur, la classe finale ne peut pas être héritée}Exemple de code de méthode finale:
Test de classe publique {final static int a = 1; final void a () {// final Method System.out.println (a);}} classe finaltest étend le test {void a () {// une erreur est rapportée, la méthode finale ne peut pas être réécrit System.out.println ("err");}} Classe finale finale finale finaler {// final et abstrait exister dans la même temps/*......*/}