Introduction aux fonctionnalités orientées objet de Java
Feb 05, 2020 pm 05:54 PMLes trois principales fonctionnalités orientées objet de Java?:
Encapsulation, héritage et polymorphisme.
1. Encapsulation
Masque les informations de classe à l'intérieur de la classe et ne permet pas l'accès direct aux programmes externes. Au lieu de cela, les informations cachées sont implémentées via les méthodes fournies par. la classe, les opérations et l'accès.
étapes de mise en ?uvre de l'encapsulation :
Modifier la visibilité des attributs : Définir sur privé
Créer des méthodes getter/setter : pour lire et écrire des attributs
Ajouter des instructions de contr?le d'attribut aux méthodes getter/setter?: juger de la légalité de la valeur de l'attribut
(apprentissage recommandé?: tutoriel vidéo Java)
Utiliser private pour modifier la visibilité des attributs, par exemple?:
//表示讀取該方法中的screen public float getScreen{ return screen; } //有viod無返回值,變量名.屬性=值,就不能直接調用可以通過變量名.getScreen()來實現(xiàn) public viod setScreen(float newScreen){ screen = newscreen; }
Nom de la variable. L'attribut = valeur ne peut pas être appelé directement. Cela peut être obtenu via getScreen().
Fonction du package?:
1. Gérer les fichiers Java
2 Résoudre les conflits de fichiers du même nom
Définir le package. : package
Nom du package Remarque : Il doit être placé sur la première ligne du programme source Java. Les noms des packages peuvent être séparés par ".". Par exemple : dans com.imooc.MyClassJava, la convention de dénomination de. packages est écrit en lettres minuscules.
Modificateurs de contr?le d'accès en Java
public, par défaut, protégé, privé
public : public, accessible à toutes les classes
default?: modificateur par défaut, accès au sein du même package
protected?: type protégé.
private : classe privée, seule cette classe peut accéder à
final, enfin, finaliser (hériter)
final : modificateur. La classe modifiée par ce modificateur ne peut pas être héritée ; la variable modifiée par ce modificateur ne peut pas être modifiée et ne peut être lue ; la méthode modifiée par ce modificateur ne peut être utilisée, peut être surchargée et ne peut pas être réécrite ; les symboles de modification ne peuvent pas être modifiés ; cours abstraits.
finalement?: opération de nettoyage après avoir détecté une exception
finalize?: une méthode?; principalement avant que le GC ne supprime l'objet, appelez d'abord la méthode finalize sur l'objet pour déterminer si l'objet est référencé
Ce mot-clé en Java
//原來手動輸入 public void setScreen( float newScreen){ screen = newScreen; } // 用eclips 自動生成的是 public void setScreen( float newScreen){ this.screen = screen; }
this Attribut?: Manipuler les propriétés de l'objet actuel
méthode this?: Appeler la méthode de l'objet actuel<.>
Ecilipse peut générer directement des méthodes setter et getter et ajouter le mot-clé this. Ce mot-clé appelle des variables membres ou des méthodes membres, des membres statiques. This et les super mots-clés ne peuvent pas être utilisés dans les méthodes statiques. En même temps, vous pouvez également renvoyer une référence à la classe et appeler le constructeur<.>
Classes internes statiques en JavaLes classes internes statiques sont des classes internes modifiées de manière statique. Les caractéristiques de cette classe interne sont?:
1. accéder aux classes externes. Membre non statique, mais accessible via un nouveau membre de classe externe ().
2. Si les membres statiques de la classe externe ont le même nom que le membre de la classe interne, vous pouvez accéder aux membres statiques de la classe externe via "nom de classe.membre statique"?; les membres de la classe externe ont le même nom que le membre de la classe interne. S'ils ne sont pas identiques, vous pouvez appeler directement les membres statiques de la classe externe via le "nom du membre".
3. Lors de la création d'un objet d'une classe interne statique, vous n'avez pas besoin d'un objet d'une classe externe. Vous pouvez créer directement un nom d'objet de classe interne = nouvelle classe interne ();.
2. L'héritageLa notion d'héritage : c'est une relation entre les classes.
Avantages de l'héritage?:
1) La sous-classe possède toutes les propriétés et méthodes de la classe parent (la modification privée n'est pas valide)
2) Implémenter la reproduction du code
Règles de grammaire?: la sous-classe de classe étend la classe parent { >
Réécriture des méthodes?:La sous-classe n'est pas satisfaite de l'héritage de la classe parent et réécrit sa propre contenu et après réécriture, la méthode de la sous-classe sera appelée en premier
Règles de grammaire?:La valeur de retour, le type, le nom de la méthode et le numéro de type de paramètre doivent être les mêmes en tant que méthode d'intégration de la classe parent, est appelée substitution
Hériter de la séquence d'initialisation?:Initialisation de l'attribut de la classe parent>Méthode de construction de la classe parent>Initialisation de l'attribut de sous-classe>Méthode de construction de la sous-classe 0
super mot-clé?:est utilisé à l'intérieur de l'objet et peut représenter l'objet de classe parent.
Accéder aux attributs de la classe parent : super.age;
Accéder à la méthode de la classe parent : super.eat();
Application de super :Lors de la méthode de construction de la sous-classe, la méthode de construction de la classe parent doit être appelée.
Si le constructeur de la sous-classe n'appelle pas explicitement le constructeur de la classe parent, le système appellera par défaut le constructeur sans argument de la classe parent.
Si vous appelez explicitement le constructeur, il doit être dans la première ligne du constructeur de la sous-classe.
Si le constructeur de la sous-classe n'appelle pas explicitement le constructeur de la classe parent et que la classe parent n'a pas de constructeur sans paramètres, une erreur de compilation se produira.
Classe Object?:Une classe sans identification de qui elle hérite équivaut à hériter de la classe Object
méthode toString()?:Le code de hachage (cha?ne d'adresse de l'objet) de l'objet renvoyé lorsque la méthode toString() est définie dans la classe Object
Vous pouvez exprimer l'objet en rempla?ant toString() Attribut de méthode
méthodeequals()?:La comparaison consiste à savoir si les références d'objet pointent vers la même adresse mémoire. Remarque : La méthode equals() n'est pas applicable lors de la comparaison de deux objets. Lorsqu'un nouvel objet est créé, une nouvelle adresse de stockage sera créée dans la mémoire. Par conséquent, même si les attributs de l'objet sont cohérents, ils ne sont pas égaux. pour que les valeurs d'attribut spécifiques des objets soient les mêmes, vous devez répéter écrivez la méthode equals() et comparez getClass() pour renvoyer l'objet de classe : getClass() renvoie l'objet de classe?: informations de code décrivant la classe, les attributs de la classe sont lesquels, quel est le type, quel est le nom de la variable, quel est le nom de la méthode, ce qui importe le plus, c'est le code informations de la classe. La création d'un nom d'objet renvoie un objet de la classe?: Concentrez-vous sur les informations sur la valeur d'attribut de l'objet, ou sur les informations des données de l'objet 3. Polymorphisme Polymorphisme?: fait référence aux différentes formes d'objets, principalement divisées en polymorphisme de référence et polymorphisme de méthode. L'héritage est la base du polymorphisme. N'oubliez pas que les classes enfants et parents doivent avoir une relation d'héritage. Caractéristiques polymorphes?: 1. .Citation Polymorphisme La référence de la classe parent peut pointer vers l'objet de cette classe Animal obj1 = new Animal(); La référence de la classe parent peut pointer vers l'objet de la sous-classe Animal obj2 = new Dog (); Mais nous ne pouvons pas utiliser la référence de la sous-classe pour pointer vers l'objet de classe parent Dog obj3 = new Animal();//Error 2. Polymorphisme de la méthode Définir une méthode eat() dans la classe Animal, afficher une instruction (les animaux ont la capacité de manger) ; réécrire la méthode eat() dans la sous-classe Dog, afficher une instruction (les chiens mangent de la viande puis dans la fonction principale de)?; la classe de test, si obj1.eat(), alors la méthode de la classe parent est appelée. Si obj2 est utilisé pour appeler la méthode eat(), alors la méthode de la sous-classe est appelée. Il existe une autre situation, comme la création d'une sous-classe Cat qui hérite de la classe parent Animal, mais Cat ne remplace pas la méthode eat() héritée. Ensuite, nous créons une sous-classe dans la fonction principale de la classe de test. Object, Animal obj3 = new Cat(); puis appelez obj3.eat(); Ensuite, le résultat est que la sous-classe hérite de la méthode de la classe parent (résultat de sortie?: l'animal a la capacité de manger). Dans le dernier cas particulier, la fonctionnalité polymorphe ne peut pas être utilisée. Si vous ajoutez une méthode unique public void watchDoor() à la sous-classe, elle contient une instruction de sortie (le chien a la capacité de surveiller la porte) ; Ensuite, dans la fonction principale de la classe test (il faut d'abord définir l'objet Animal obj2 = new Dog()), on ne peut pas utiliser obj2.watchDoor(), c'est-à-dire qu'on ne peut pas appeler la méthode de la sous-classe via la référence de la classe parent. Articles et tutoriels connexes recommandés?: Tutoriel d'introduction à Java
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour gérer correctement les transactions JDBC, vous devez d'abord désactiver le mode de validation automatique, puis effectuer plusieurs opérations, et enfin vous engager ou randonner en fonction des résultats; 1. Appelez Conn.SetAutoCommit (false) pour démarrer la transaction; 2. Exécuter plusieurs opérations SQL, telles que l'insertion et la mise à jour; 3. Appelez Conn.Commit () Si toutes les opérations sont réussies, et appelez Conn.Rollback () Si une exception se produit pour garantir la cohérence des données; Dans le même temps, les ressources TRY-With doivent être utilisées pour gérer les ressources, gérer correctement les exceptions et cl?turer les connexions pour éviter la fuite de connexion; De plus, il est recommandé d'utiliser des pools de connexion et de définir des points de sauvegarde pour réaliser un retour en arrière partiel, et de maintenir les transactions aussi courtes que possible pour améliorer les performances.

Utilisez des classes dans le package Java.Time pour remplacer les anciennes classes de date et de calendrier; 2. Obtenez la date et l'heure actuelles via LocalDate, LocalDateTime et Localtime; 3. Créez une date et une heure spécifiques en utilisant la méthode OF (); 4. Utilisez la méthode plus / moins pour augmenter et diminuer le temps; 5. Utilisez ZonedDateTime et ZoneID pour traiter le fuseau horaire; 6. Format et cha?nes de date d'analyse via DateTimeFormatter; 7. Utilisez instantanément pour être compatible avec les anciens types de dates si nécessaire; Le traitement des dattes dans le Java moderne devrait donner la priorité à l'utilisation de Java.timeapi, qui fournit clairement, immuable et linéaire

Pré-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusofperforming lightbetterine scénarios.

HTTP Log Middleware dans GO peut enregistrer les méthodes de demande, les chemins de requête, la propriété intellectuelle du client et le temps qui prend du temps. 1. Utilisez http.handlerfunc pour envelopper le processeur, 2. Enregistrez l'heure de début et l'heure de fin avant et après l'appel Suivant.Servehttp, 3. Obtenez le vrai client IP via R.RemoteAddr et X-Forwared-For Headers, 4. Utilisez le log.printf aux journaux de demande de sortie, 5. L'exemple de code complet a été vérifié pour s'exécuter et convient au démarrage d'un projet petit et moyen. Les suggestions d'extension incluent la capture des codes d'état, la prise en charge des journaux JSON et le suivi des ID de demande.

La collecte des ordures de Java (GC) est un mécanisme qui gère automatiquement la mémoire, ce qui réduit le risque de fuite de mémoire en récupérant des objets inaccessibles. 1. GC juge l'accessibilité de l'objet de l'objet racine (tel que les variables de pile, les threads actifs, les champs statiques, etc.), et les objets inaccessibles sont marqués comme des ordures. 2. Sur la base de l'algorithme de compensation de marque, marquez tous les objets accessibles et effacez des objets non marqués. 3. Adopter une stratégie de collecte générationnelle: la nouvelle génération (Eden, S0, S1) exécute fréquemment MinorGC; Les personnes agées fonctionnent moins, mais prend plus de temps pour effectuer MajorGC; Metaspace Stores Metadata de classe. 4. JVM fournit une variété de périphériques GC: SerialGC convient aux petites applications; Le parallelGC améliore le débit; CMS réduit

Le choix du bon type HTMLinput peut améliorer la précision des données, améliorer l'expérience utilisateur et améliorer la convivialité. 1. Sélectionnez les types d'entrée correspondants en fonction du type de données, tels que le texte, le courrier électronique, le tel, le numéro et la date, qui peuvent vérifier automatiquement la somme de la somme et l'adaptation au clavier; 2. Utilisez HTML5 pour ajouter de nouveaux types tels que l'URL, la couleur, la plage et la recherche, qui peuvent fournir une méthode d'interaction plus intuitive; 3. Utilisez l'espace réservé et les attributs requis pour améliorer l'efficacité et la précision du remplissage des formulaires, mais il convient de noter que l'espace réservé ne peut pas remplacer l'étiquette.

GradleisthebetterChoiceFormostNewProjectsDuetOtsSuperiorflexibility, Performance et ModerNtoolingSupport.1.gradle’sgroovy / kotlindslismoreConcis

Le report est utilisé pour effectuer des opérations spécifiées avant le retour de la fonction, telles que les ressources de nettoyage; Les paramètres sont évalués immédiatement lorsqu'ils sont reportés et les fonctions sont exécutées dans l'ordre de la dernière entrée (LIFO); 1. Plusieurs éleveurs sont exécutés dans l'ordre inverse des déclarations; 2. Communément utilisé pour le nettoyage sécurisé tel que la fermeture des fichiers; 3. La valeur de retour nommée peut être modifiée; 4. Il sera exécuté même si la panique se produit, adaptée à la récupération; 5. éviter l'abus de report dans les boucles pour éviter la fuite des ressources; Une utilisation correcte peut améliorer la sécurité et la lisibilité du code.
