Ce que cet article vous apporte est un résumé des points de connaissances sur les objets Java. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Java est un langage orienté objet, il est donc nécessaire d'enregistrer séparément les différentes définitions et compréhensions des objets.
Orienté objet, comprenant principalement : la pensée orientée objet, les classes et les objets et leur utilisation, la carte mémoire des objets, la différence entre les variables membres et les variables locales, les objets anonymes, l'encapsulation ( private) , ce mot-clé, méthode constructeur, mot-clé statique.
1 Présentation : elle est basée sur une pensée orientée processus et est une encapsulation de celle-ci.
2. Développement orienté objet : cela signifie constamment créer des objets, utiliser des objets et diriger des objets pour faire des choses.
3. Conception orientée objet : Il s'agit en fait de gérer et d'entretenir la relation entre les objets.
4. Caractéristiques orientées objet : encapsulation, héritage, polymorphisme
5. La relation entre les classes et les objets :
(1) Classe : un ensemble d'attributs liés et Collection de comportements
(2) Objet : C'est l'incarnation spécifique de ce type de chose
6. Objet anonyme :
(1) C'est un objet sans nom, qui est une simplification de la forme de représentation de l'objet
(2) Deux situations d'utilisation d'objets anonymes : 1. Lorsque l'objet appelle la méthode une seule fois 2. Passage en paramètres réels
1. Student s = new Student();Que fait-il en mémoire ?
(1) Chargez le fichier Student.class en mémoire
(2) Créez de l'espace pour s dans l'espace de pile
(3) Créez de l'espace pour l'objet étudiant dans la mémoire tas
(4) Droite Les variables membres de l'objet étudiant sont initialisées par défaut
(5) Les variables membres de l'objet étudiant sont affichées et initialisées
(6) Les variables membres de l'objet étudiant se voient attribuer des valeurs via la méthode de construction
(7) L'objet étudiant est initialisé. Attribuez l'adresse de l'objet à la variable s
2. Les classes comprennent essentiellement : l'héritage, le polymorphisme, les classes abstraites, les interfaces, les packages et les packages guides, modificateurs d'autorisation, classes internes
1. Présentation : lorsque les mêmes attributs et comportements existent dans plusieurs classes, extrayez ces contenus dans une seule classe. Ensuite, plusieurs classes n'ont plus besoin. pour définir ces attributs et comportements, à condition qu'ils héritent de cette classe.
2. L'héritage de classe à classe peut être réalisé via le mot-clé extends
3. Cette classe unique est appelée une classe parent ou une classe de base ou une super classe. être appelé Sous-classe ou classe dérivée
4 Avec l'héritage, lorsque nous définissons une classe, nous pouvons définir nos propres nouveaux membres en fonction d'une classe existante
Avantages :
(1) Améliore la réutilisabilité du code (2) Améliore la maintenabilité du code
(3) Il crée une relation entre les classes, qui est la prémisse du polymorphisme
(4) Un inconvénient de classes est qu'elles sont fortement couplées
(2) Les sous-classes ne peuvent pas hériter de la méthode de construction de la classe parent, mais elles peuvent accéder à la méthode de construction de la classe parent via le super mot-clé
(3) Ne pas hériter de certaines fonctions de la classe
(2) Parce que la sous-classe héritera de la classe parent Les données. de la classe peut également utiliser les données de la classe parent. Par conséquent, avant d'initialiser la sous-classe, vous devez d'abord terminer l'initialisation des données de la classe parent
(3) La première instruction de chaque méthode constructeur est par défaut : super()
(4) S'il n'y a pas de méthode constructeur dans la classe parent Que faire :
[1] La sous-classe utilise super pour appeler explicitement d'autres constructeurs de la classe parent avec des paramètres
[2] La sous-classe appelle d'autres constructeurs de cette classe via ce
[3 ] Il faut noter que super() et this() doivent apparaître dans la première instruction, sinon il y aura plusieurs initialisations des données de la classe parent
(2) Les méthodes privées de la classe parent ne peuvent pas être remplacées
(3 ) Lorsqu'une sous-classe réécrit une méthode de classe parent, l'autorisation d'accès ne peut pas être inférieure
(4) La méthode statique de la classe parent, la sous-classe doit également la réécrire via une méthode statique
(1) Les variables membres et les méthodes membres peuvent être modifiées
(2) Caractéristiques :
[1] Chargé au fur et à mesure du chargement de la classe
[2] La priorité existe avant l'objet
[3 ] Partagé par tous les objets de la classe
[4] Vous pouvez appeler
via le nom de la classe (3) Notes :
[1] Il n'y a pas de mot-clé this dans les méthodes statiques
[2] Statique méthode Seules les variables membres statiques et les méthodes membres statiques sont accessibles
(4) La différence entre les variables statiques et les variables membres :
[1] Les variables statiques appartiennent aux classes, elles deviennent donc également des variables membres de classe ; objets, ils sont donc également appelés variables d'instance
[2] Les variables statiques sont stockées dans la zone statique de la zone de méthode et les variables membres sont stockées dans la mémoire tas
[3] Les variables statiques sont chargées en tant que la classe est chargée et disparaît au fur et à mesure que la classe disparaît ; les variables membres existent avec la création de l'objet et disparaissent avec la disparition de l'objet
[4] Les variables statiques peuvent être appelées via des noms de classe ou les variables membres ne peuvent être appelées ; via les noms d'objets
2. Super mot-clé :
(1) L'utilisation de super et de ce mot-clé est très similaire Cela représente la référence correspondant à cette classe, et super représente l'identification du. l'espace de stockage de la classe parent (qui peut être compris comme la référence de la classe parent)
(2) Utilisez super pour référencer les composants de la classe parent, et utilisez-le pour référencer l'objet actuel
3. :
(1) Le mot-clé final est final Signification, vous pouvez modifier les classes, les variables membres et les méthodes membres
(2) Modifier les classes, mais les classes ne peuvent pas être héritées
(3) Modifier les variables , et les variables deviennent constantes et ne peuvent être attribuées qu'une seule fois
(4) Modifier les méthodes, les méthodes ne peuvent pas être remplacées
1. fois
2. Prémisse polymorphe et manifestation : il existe une relation d'héritage, il existe des réécritures de méthodes et des références de classe parent pointant directement vers des objets de sous-classe
Avantages :
(1) Améliorer la maintenabilité du programme (garantie par l'héritage) )
(2) Améliorer l'évolutivité du programme (garantie par le polymorphisme)
4 Inconvénients : Impossible d'accéder aux sous-classes spécifiques. fonctions
1. Présentation : une méthode sans corps de méthode doit être définie comme une méthode abstraite, et s'il existe une méthode abstraite dans une classe, la classe doit être définie comme une classe abstraite
2. Caractéristiques :
(1) Classe abstraite Et les méthodes abstraites doivent être modifiées par le mot-clé abstract
(2) Les classes abstraites n'ont pas nécessairement de méthodes abstraites, et les classes avec des méthodes abstraites doivent être des classes abstraites
(3) Les classes abstraites ne peuvent pas être instanciées
(4) Alors, comment une classe abstraite est-elle instanciée ? Selon la méthode polymorphe, des sous-classes concrètes sont instanciées
(5) Sous-classes de classes abstraites, soit des classes abstraites, soit remplaçant toutes les méthodes abstraites dans les classes abstraites
3. Classes abstraites Caractéristiques des membres :
(1) Les variables membres peuvent être des variables ou des constantes
(2) Il existe des constructeurs, mais ils ne peuvent pas être instanciés. Alors quel est le rôle de la méthode constructeur ? Initialisation pour que les sous-classes utilisateur accèdent aux données de la classe parent
(3) Il peut y avoir des méthodes abstraites pour limiter la sous-classe à effectuer certaines actions
(4) Il peut également y avoir des méthodes non abstraites pour améliorer la réutilisabilité du code
( 5) La méthode abstraite doit être publique ou protégée (car si elle est privée, elle ne peut pas être héritée par les sous-classes et les sous-classes ne peuvent pas implémenter la méthode. Par défaut, sa valeur par défaut est public
(1) Utiliser Le mot-clé interface signifie : interface nom de l'interface {}
(2) L'interface d'implémentation de classe est représentée par Implements : class nom de classe implémente le nom de l'interface {} (3) L'interface ne peut pas être instanciée, mais il peut être implémenté de manière polymorphe, instancié par une sous-classe spécifique
(4) Sous-classe d'interface : soit une classe abstraite, soit remplaçant toutes les méthodes abstraites de l'interface
3. Caractéristiques des membres de l'interface :
(1) Variables membres : ne peuvent être que des constantes, les modificateurs par défaut sont public, static, final
(2) Il n'y a pas de méthode constructeur, car l'interface étend principalement la fonction et n'existe pas spécifiquement (3) Les méthodes membres d'interface ne peuvent être que des méthodes abstraites, et les modificateurs par défaut sont publics, abstraits
Classe et classe, classe et interface, interface et relation d'interface
2. Classes et interfaces : relations d'implémentation, qui peuvent être implémentées individuellement ou de plusieurs manières. Vous pouvez également hériter d'une classe et implémenter plusieurs interfaces en même temps
3. Interfaces et interfaces : relation d'héritage, vous pouvez avoir un héritage unique ou un héritage multiple
La différence entre les classes abstraites et les interfaces :
2. La classe abstraite représente ce qu'est l'objet, tandis que l'interface représente ce que l'objet peut faire
3. Ni les classes abstraites ni les interfaces ne peuvent être instanciées. Si elles doivent être instanciées, les variables de classe abstraite doivent pointer vers des objets de sous-classe qui implémentent toutes les méthodes abstraites, et les variables d'interface doivent pointer vers des objets de classe qui implémentent toutes les méthodes d'interface. 🎜>4. Les classes abstraites doivent être héritées par les sous-classes et les interfaces doivent être implémentées par les classes
5. Les interfaces ne peuvent faire que des déclarations de méthodes, tandis que les classes abstraites peuvent faire des déclarations de méthodes et des implémentations de méthodes
.6. Les variables définies dans l'interface ne peuvent être que des constantes statiques publiques, et les variables des classes abstraites sont des variables ordinaires
7. Les méthodes abstraites de la classe abstraite doivent être implémentées par la sous-classe. Si la sous-classe ne peut pas implémenter toutes les méthodes abstraites de la classe parent, alors la sous-classe ne peut être qu'une classe abstraite. De la même manière, lorsqu'une interface est implémentée, si toutes les méthodes de l'interface ne peuvent pas être implémentées, alors la classe ne peut être qu'une classe abstraite
8. Les méthodes abstraites ne peuvent être déclarées que et non implémentées. Les interfaces sont le résultat de la conception et les classes abstraites sont le résultat d'une reconstruction
9. Les interfaces peuvent hériter d'interfaces et de plusieurs interfaces, mais les classes ne peuvent hériter qu'une seule
10. méthodes et attributs, les interfaces ne peuvent avoir que des méthodes abstraites et des constantes immuables
11. Lorsque vous vous concentrez sur l'essence d'une chose, utilisez des classes abstraites lorsque vous vous concentrez sur une opération, utilisez des interfaces ;
1 Présentation : Il s'agit en fait d'un dossier pour classer et gérer les classes
2 Définition : package nom du package
3. Remarque :
(1) L'instruction package doit être le premier code exécutable du programme
(2) Il ne peut y avoir qu'une seule instruction package dans un fichier java
(3) S'il n'y en a pas package, la valeur par défaut signifie aucun nom de package
4. Compilation et fonctionnement des classes avec des packages :
(1) Manuel :
[1] javac compile le fichier de classe actuel
【2】Créez manuellement le dossier correspondant au package
【3】Placez le fichier de classe compilé dans le dossier créé à l'étape précédente
【4】Exécutez via la commande java, qui doit être exécutée avec le nom du package : java testpackage.HelloWorld
(2) Type automatique :
[1] Exécuté avec le paramètre -d lors de la compilation de javac : javac -d .HelloWorld.java
[2] Exécuté via java commande, identique au type manuel
5. Package Guide :
(1) Présentation : Pour l'accès entre les classes sous différents packages, nous avons constaté qu'à chaque fois, une classe sous différents packages est utilisée. , un package doit être ajouté. L'ensemble du parcours est plus gênant. À l'heure actuelle, Java fournit la fonction d'importation de package
(2) Format d'importation de package : nom du package d'importation
1. Présentation : Définir la classe dans d'autres classes. En interne, cette classe est appelée classe interne
2. Caractéristiques d'accès :
(1) Les classes internes peuvent accéder directement aux membres des classes externes, y compris privées
(2) Les classes externes doivent Pour être membre d'une classe interne, vous devez créer un objet
3. Position de classe interne :
(1) Selon les différentes positions définies dans la classe, la classe interne peut être divisé en deux formats : position du membre (classe interne du membre), position locale (classe interne locale)
(2) Classe interne du membre :
[1] Modificateurs communs : privé, statique
[2] Le membre classe interne modifiée statiquement uniquement Peut accéder aux membres statiques des classes externes
(3) Classes internes locales :
[1] Peut accéder directement aux membres des classes externes
[2] Peut créer des objets de classe internes et appeler méthodes de classe interne à travers les objets. Utilisez la fonction de classe interne locale
[3] Les classes internes locales doivent être modifiées avec final pour accéder au changement de visage local. Étant donné que les variables locales disparaîtront une fois l'appel de méthode terminé, à ce stade, l'objet local ne disparaît pas immédiatement de la mémoire tas et cette variable doit toujours être utilisée. Afin de permettre aux données de continuer à être utilisées, elles sont modifiées avec final, de sorte que ce qui est stocké dans la mémoire tas soit en réalité une valeur constante.
(4) Classe interne anonyme :
[1] C'est une manière simplifiée d'écrire une classe interne
[2] Format : nouveau nom de classe ou nom d'interface (){}
[3] Prémisse : Il existe une classe ou une interface, la classe ici peut être une classe ordinaire concrète, ou elle peut être une classe abstraite
[4] Essence : C'est un objet anonyme de sous-classe qui hérite de la classe ou implémente l'interface
[5] On peut dire que la classe interne anonyme est en fait une sous-classe d'objet anonyme
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!