编程知识 cdmana.com

Java Object Oriented Static, final, Abstract, Singleton Pattern

No1Chapitre staticModificateur

1.1 staticIntroduction

1.1.1 Généralités

​ staticEst un modificateur statique,Membres de finition générale.ParstaticLes membres modifiés appartiennent à la classe,Un objet qui n'appartient pas à une seule classe.

​ staticLes membres modifiés sont partagés par plusieurs objets.

​ staticLes membres modifiés appartiennent à la classe,Mais affecte chaque objet.

​ ParstaticLes membres modifiés sont également appelés membres de classe,Ne pas appeler les membres de l'objet.

  • static Modificateur
    
  • Caractéristiques:
  • 1.Modifier les membres,Ce membre n'appartient plus à un objet,Mais appartient à cette catégorie
    
  • 2.Bloc de modification,C'est un bloc statique.,Charger en mémoire lorsque la classe est chargée
    
  • 3.Une seule copie en mémoire
    
  • 4.Les membres non statiques peuvent être utilisés dans les méthodes des membres non statiques,Vous pouvez également utiliser des membres statiques;
    
  •  Seuls les membres statiques peuvent être utilisés dans les méthodes statiques des membres,Les membres non statiques ne peuvent pas être utilisés.
    
  • 5.Dans la méthode statique,Non disponiblethis
    
  • 6.Les méthodes statiques peuvent - elles être héritées??Peut être réécrit?  Je ne peux pas
    
  • 7.Principes généraux d'utilisation:Nom de la classe.Membres statiques
    
  • Modifier les membres
  • 1.Modifier les propriétés des membres
    
  • 2.Modifier la méthode des membres
    
  •  3.Modifier le bloc de code
    
  •  4.Classe intérieure modifiée
    

1.2 Mode de fonctionnement statique et principe de chargement

1.2.1 Généralités

ParstaticLes membres modifiés peuvent et sont recommandés pour un accès direct par le nom de la classe.Vous pouvez également accéder aux membres statiques d'une classe à travers un objet,La raison en est que plus d'un objet appartient à une classe,Share utilise le même membre statique.

Format:

Nom de la classe.Nom de la variable membre statique

Nom de la classe. Nom de la méthode des membres statiques (Paramètres)

Nom de l'objet.Nom de la variable membre statique ------Non recommandé,Avertissement

Nom de l'objet. Nom de la méthode des membres statiques (Paramètres) ------Non recommandé,Avertissement

No2Chapitre finalMots clés

2.1 Généralités

​ Après avoir étudié l'héritage,Nous savons que,Les sous - classes peuvent réécrire le contenu de la classe mère sur la base de la classe mère,Par exemple,,Méthode de réécriture.Peut - on hériter à volonté?APIClasse fournie dans,Et réécrire son contenu?Apparemment, ce n'est pas approprié..Pour éviter cette réécriture aléatoire,JavaOffrefinal Mots clés,Pour la décorationNon modifiableContenu.

  • final: Non modifiable, Signification finale .Peut être utilisé pour modifier les classes、Méthodes et variables.

    • Catégorie:Classe modifiée,Impossible d'hériter.

    • Méthodes:Méthode modifiée,Ne peut pas être réécrit.

    • Variables:Variables modifiées,A et ne peut être attribué qu'une seule fois.

      final int a = 10;  //EtaImpossible d'être2Sous - affectation
      

Attention!:

1.Nous utilisons habituellementpublic static final Pour définir les constantes statiques ( Comme un modificateur fixe dans une interface )

2. Pour les variables du type de référence finalModification, Signifie que l'objet auquel il se réfère ne peut pas être modifié , C'est - à - dire que la valeur d'adresse référencée par cette variable ne peut pas être modifiée .

  •  finalModificateur
    
  •     1.Classe de modification   final class, La représentation est la classe finale , Ne peut plus être hérité 
    
  •     2.Méthode de modification public final Valeur de retour Nom de la méthode(){ } ,  Ne peut plus être réécrit 
    
  •     3.Modifier les attributs   La valeur initiale ne peut plus être modifiée (Valeur unique)
    
  •      3.1 Constante de temps de compilation   private final Type de données  Nom de la propriété = Valeur initiale;
    
  •      3.2 Constante de fonctionnement    Compléter l'attribution des valeurs initiales dans toutes ses méthodes de construction 
    
  • PS:
  •      final Modifier le type de données de base, La valeur représentative ne peut pas être modifiée 
    
  •      Modifier le type de données de référence, L'adresse du représentant ne peut pas être modifiée 
    
public /*final*/ class FinalDemo1 {
    

    private String name;

    //final static  Modifier les attributs en même temps , Constante statique finale  (Adresse unique,Valeur unique)
    private final static int LEVEL_INFO = 1;

    //finalModifier la variable Valeur unique
    //1.Constante de temps de compilation, Valeur initialisée avec succès au moment de la Déclaration 
    //private final int a = 10;

    //2.Constante de fonctionnement, Non attribué au moment de la Déclaration , Mais terminer l'initialisation dans toutes ses méthodes de construction 
    private final int a;
    public FinalDemo1(){
    
        a = 10;
    }
    public FinalDemo1(String name){
    
        this.name = name;
        a = 20;
    }

    // Ne peut plus être réécrit 
    public /*final*/ void eat(){
    
        //a = a*2;
        System.out.println(name+"En train de manger...");
    }

}

No3Chapitre Classes abstraites et méthodes abstraites

3.1 Classe abstraite et introduction de méthodes abstraites

​ Les classes abstraites sont utilisées pour décrire les caractéristiques et les fonctions de base qu'un type devrait avoir , Comment accomplir ces actions en réécrivant les sous - classes

Nous appelons une méthode sans corps de méthode une méthode abstraite .JavaLa grammaire prescrit,Une classe qui contient une méthode abstraite est une classe abstraite.

  • Méthode abstraite : Méthode sans corps de méthode.
  • Classe abstraite:Classes contenant des méthodes abstraites.

3.2 Format de définition de la classe abstraite

Format des définitions de classe abstraites : abstractInclass Classe de modification avant

public abstract class Nom de la classe {
    

}

Format de la définition de la méthode abstraite : abstract Après accès , Type de valeur de retour ,La méthode n'a pas de corps de méthode:

public abstract Type de valeur de retour Nom de la méthode(Paramètres);

3.3 Méthode de construction des classes abstraites

3.3.1 Signification de l'existence de méthodes de construction pour les classes abstraites

Méthode de construction de la Sous - classe super La méthode de construction de la classe mère abstraite appelée par l'instruction , Initialisation des variables membres dans la classe parent abstraite ; Et une variable membre avec une bonne valeur peut être utilisée par les objets de la Sous - classe .

3.4 Les caractéristiques des classes abstraites et leurs doutes communs

3.4.1 Caractéristiques

A: Les classes abstraites et les méthodes abstraites doivent être abstractModification. La méthode abstraite doit être définie dans la classe abstraite .

B: Les classes abstraites ne peuvent pas créer d'objets directement ,Raisons: Appeler une méthode abstraite n'a aucun sens .

C:Ce n'est qu'après avoir écrasé toutes les méthodes abstraites de la classe abstraite,Ses sous - classes peuvent créer des objets.Sinon, la Sous - classe est une classe abstraite.

La raison pour laquelle les classes abstraites sont héritées,Plus de pensées,C'est plus facile de faire face à des types communs.

3.4.2 Doutes

A:La classe abstraite doit être un parent, Parce que les classes abstraites tirent constamment des exigences communes .

B: Il est possible de ne pas définir de méthode abstraite dans une classe abstraite , Il suffit de ne pas laisser cette classe créer d'objets pour le moment , Pour certaines exigences particulières de conception .

C: Extraire la classe abstraite de la classe concrète lors de la conception , La phase de développement devrait d'abord définir le parent abstrait , Ensuite, les sous - classes sont définies par la classe mère en fonction des différentes exigences .

3.5 Résumé abstrait

Définitions spécifiques liées à l'abstraction :

​ 1. Les classes abstraites sont utilisées pour décrire les caractéristiques et les fonctions de base qu'un type devrait avoir , Comment accomplir ces actions en réécrivant les sous - classes

​ 2. Une méthode abstraite n'est qu'une déclaration de fonction , Aucune méthode de mise en œuvre du principal fonctionnel

​ 3. Une classe avec une méthode abstraite doit être une classe abstraite

​ 4. Définition abstraite des mots clés :abstract

5.Les classes abstraites ne peuvent pas créer d'objets

6.Les classes abstraites ont aussi des méthodes de construction

3.6 Notes pour les classes abstraites

À propos de l'utilisation de classes abstraites,Voici les détails à noter en grammaire,Bien qu'il y ait beaucoup d'entrées,Mais si vous comprenez la nature de l'abstraction,Pas besoin de mémoriser.

  1. Classe abstraiteImpossible de créer l'objet,Si vous créez,La compilation a échoué avec une erreur.Seuls les objets de leurs sous - classes non abstraites peuvent être créés.

    Compris.:Supposons que l'objet de la classe abstraite a été créé,Appelez la méthode abstraite,Et la méthode abstraite n'a pas de corps de méthode concret,Ça n'a aucun sens.

  2. Dans une classe abstraite,Il peut y avoir un constructeur,Est utilisé lorsque des sous - classes créent des objets,Utilisé pour initialiser les membres de la classe parent.

    Compris.:Dans la méthode de construction de la Sous - classe,Par défautsuper(),Nécessite l'accès à la méthode de construction de la classe mère.

  3. Dans une classe abstraite,Ne contient pas nécessairement de méthodes abstraites,Mais une classe avec une méthode abstraite doit être une classe abstraite.

    Compris.:Classe abstraite sans méthode abstraite,Le but est de ne pas laisser l'appelant créer ce type d'objet, Généralement utilisé dans certaines conceptions structurales spéciales de classe .

  4. Sous - classe d'une classe abstraite, Doit outrepasser la classe parent abstraite Tous lesMéthode abstraite,Sinon, les sous - classes doivent également être définies comme des classes abstraites,La compilation a échoué avec une erreur.

    Compris.:Supposons que toutes les méthodes abstraites ne soient pas dépassées,La classe peut contenir des méthodes abstraites.Après la création de l'objet,Appelez la méthode abstraite,Ça n'a aucun sens.

  5. La signification de l'existence d'une classe abstraite est d'être héritée par la Sous - classe,Les classes abstraites incarnent l'idée du modèle.

    Compris.: Ce qui est déjà implémenté dans la classe abstraite est le membre identifié dans le modèle , Une classe abstraite n'est pas sûre de la façon dont elle est mise en oeuvre définie comme une méthode abstraite , Sous - classes spécifiques à mettre en œuvre .

3.7 Le sens de l'existence d'une classe abstraite

​ La signification de l'existence d'une classe abstraite est d'être héritée par la Sous - classe, Sinon, les classes abstraites n'auront aucun sens. ,Les classes abstraites incarnent l'idée du modèle, Les modèles sont des implémentations concrètes déjà dans les classes abstraites générales de l'Est et de l'Ouest ( Les classes abstraites peuvent avoir des variables membres et des méthodes d'implémentation ), Et ce qui ne peut être déterminé dans le modèle est défini comme une méthode abstraite , Utiliser un modèle (Une classe qui hérite d'une classe abstraite) Classe pour outrepasser les exigences de mise en œuvre des méthodes abstraites , C'est un modèle typique. .

版权声明
本文为[Vers le Haut]所创,转载请带上原文链接,感谢
https://cdmana.com/2022/01/202201080601056373.html

Scroll to Top