Quelles sont les caractéristiques de l'orientation objet
La soi-disant encapsulation consiste à encapsuler des choses objectives dans Classe d'objets abstraits, et la classe peut permettre à ses propres données et méthodes d'être exploitées uniquement par des classes ou des objets de confiance, et cacher les informations à ceux qui ne sont pas fiables. L'encapsulation est l'une des caractéristiques de l'orientation objet et la principale caractéristique des concepts d'objets et de classes. (étude recommandée?: Questions d'entretien courantes Java)
L'héritage signifie qu'une sous-classe obtient les attributs et les méthodes de la classe parent. Par exemple, si un chien est un type d’animal, on peut également dire qu’il hérite des caractéristiques de l’animal ou que le chien est une sous-classe de l’animal.
Le polymorphisme signifie qu'une méthode ne peut avoir qu'un seul nom, mais elle peut avoir plusieurs formes, c'est-à-dire que plusieurs méthodes portant le même nom peuvent être définies dans le programme, qui est décrit par "une interface, plusieurs méthodes ". Vous pouvez transmettre les paramètres de méthode et les références de type
Cinq principes?:?Principe de responsabilité unique SRP Principe ouvert et fermé Principe de remplacement OCP Principe de dépendance LSP Principe de séparation d'interface DIP
Membre variables et variables locales La différence
* A : Différentes positions dans la classe
* Variables membres : en dehors des méthodes dans la classe
* Variables locales : Dans la définition de méthode ou la déclaration de méthode
* B : Différents emplacements en mémoire
* Variables membres : En mémoire tas (les variables membres appartiennent à des objets , objets dans la mémoire tas)
* Variables locales?: dans la mémoire de la pile (les variables locales appartiennent aux méthodes, les méthodes sont poussées dans la mémoire de la pile)
* C?: différents cycles de vie
* Variables membres : existent lorsque l'objet est créé et disparaissent lorsque l'objet dispara?t
* Variables locales : existent lorsque la méthode est appelée et disparaissent lorsque la méthode est appelée
* D?: Différentes valeurs d'initialisation
* Variables membres?: ont des valeurs d'initialisation par défaut
* Variables locales?: aucune valeur d'initialisation par défaut, doit être définie , attribué, puis peut être utilisé.
La différence entre les variables statiques et les variables membres
* Les variables statiques sont également appelées variables de classe. Les variables membres sont également appelées variables d'objet
* A : Différentes appartenances
* Les variables statiques appartiennent à des classes, elles sont donc également appelées variables de classe * Les variables membres appartiennent à des objets, elles sont donc également appelées variables d'instance ( variables objet)* B : Différents emplacements en mémoire
* Les variables statiques sont stockées dans la zone statique de la zone méthode * Les variables membres sont stockées dans la mémoire du tas* C?: La mémoire appara?t à différents moments
* Les variables statiques sont chargées au fur et à mesure du chargement de la classe et disparaissent à mesure que la classe dispara?t * Les variables membres suivent l'Existe de l'objet lors de sa création et disparaissent lorsque l'objet dispara?t* D?: Différents appels
* Les variables statiques peuvent être appelées via des noms de classe ou via des objets * Les variables membres ne peuvent être appelées que via des noms d'objetLa différence et l'application de ceci et super
* A : Que signifie ceci et super
* ceci : représente la référence de l'objet actuel, celui qui m'appelle, je représenterai cette personne * super : représente la référence de la classe parent de l'objet courant* B : La différence entre this et super
* a : Appel des variables membres * this. Les variables membres appellent les variables membres de cette classe ou de la classe parent. Variables membres * super. Les variables membres appellent les variables membres de la classe parent * b : appelle la méthode constructeur. * this(...) appelle la méthode constructeur de cette classe * super(...) appelle la méthode constructeur de la classe parent * c: appelle la méthode membre * this. La méthode membre appelle la méthode membre de cette classe, vous pouvez également appeler la méthode de la classe parent * super. la classe parentQuelles sont les méthodes de tri ? Veuillez lister les méthodes de tri
?: tri par insertion (tri par insertion directe, tri Hill), tri par échange (tri à bulles, tri rapide), tri par sélection (tri par sélection directe, tri par tas), tri par fusion, tri par distribution (tri par bo?te, tri par base) Pseudo code de tri rapide. La différence entreString, StringBuffer et StringBuilder.
La longueur de String est immuable ;La différence entre surcharge et remplacement. Une méthode surchargée peut-elle changer le type de valeur de retour??
Réponse?: remplacement des méthodes et surcharge. La surcharge est une manifestation différente du polymorphisme Java.La substitution est une manifestation du polymorphisme entre la classe parent et la sous-classe, et la surcharge est une manifestation du polymorphisme dans une classe. Si une méthode définie dans une sous-classe a le même nom et les mêmes paramètres que sa classe parent, on dit que la méthode est prioritaire.
Lorsqu'un objet d'une sous-classe utilise cette méthode, la définition dans la sous-classe sera appelée. Pour cela, la définition dans la classe parent semblera "protégée". Si plusieurs méthodes portant le même nom sont définies dans une classe et qu’elles ont un nombre différent de paramètres ou des types de paramètres différents, on parle de surcharge de méthode. Une méthode surchargée peut modifier le type de valeur de retour.
Quelle est la différence entre final et finalement ?
Réponse : final : modificateur (mot clé) ; Les nouvelles sous-classes dérivées ne peuvent pas être héritées en tant que classes parentes, donc une classe ne peut pas être déclarée à la fois abstraite et finale?; déclarer des variables ou des méthodes comme finales garantit qu'elles ne seront pas modifiées lors de l'utilisation. Les variables déclarées comme finales doivent recevoir une valeur initiale lorsqu'elles sont déclarées. , et ne peuvent être lues que dans les références ultérieures et ne peuvent pas être modifiées?; les méthodes déclarées comme finales ne peuvent également être utilisées que et ne peuvent pas être surchargées.
finally?: fournissez un bloc final pour effectuer toute opération de nettoyage pendant la gestion des exceptions?; si une exception est levée, la clause catch correspondante sera exécutée, puis le contr?le entrera dans le bloc final (le cas échéant).
Plusieurs anomalies de fonctionnement courantes.
java.lang.nullpointerexception (exception de pointeur nul)
java.lang.classnotfoundexception (la classe spécifiée n'existe pas)
java.lang.arithmeticexception ( exception d'opération mathématique)
java.lang.arrayindexoutofboundsexception (exception d'index de tableau hors limites)
IOException (exception d'entrée et de sortie)
Deux problèmes mineurs courants avec les opérations de tableau sont pointeur hors limites et vide
* A?: Démonstration de cas
* a?: ArrayIndexOutOfBoundsException?: exception hors limites de l'index de tableau
* Raison?: Vous avez accédé à un indice inexistant.
* b : NullPointerException : Exception de pointeur nul
* Raison : Le tableau ne pointe plus vers la mémoire du tas. Et vous utilisez également des noms de tableaux pour accéder aux éléments.
* int[] arr = {1,2,3}; * arr = null; * System.out.println(arr[0]);
Comment le langage JAVA gère-t-il les exceptions?? Que signifient les mots-clés?: throws, throw, try, catch et enfin?? Une exception peut-elle être levée dans le bloc try??
Réponse?: Java gère les exceptions via des méthodes orientées objet, classe diverses exceptions et fournit une bonne interface.
En Java, chaque exception est un objet, qui est une instance de la classe Throwable ou d'autres sous-classes. Lorsqu'une exception se produit dans une méthode, un objet d'exception est généré. L'objet contient des informations sur l'exception. La méthode d'appel de cet objet peut intercepter l'exception et la gérer.
La gestion des exceptions de Java est implémentée à travers 5 mots-clés : try, catch, throw, throws et enfin. Généralement, try est utilisé pour exécuter un programme. Si une exception se produit, le système lèvera une exception à ce moment-là, vous pouvez l'attraper par son type, ou enfin par le gestionnaire par défaut à gérer.
Utilisez try pour spécifier un programme qui empêche toutes les "exceptions". Immédiatement après le programme try, une clause catch doit être incluse pour spécifier le type ? d'exception ? que vous souhaitez intercepter.
L'instruction throw est utilisée pour lancer explicitement une "exception".
throws est utilisé pour indiquer diverses "exceptions" qu'une fonction membre peut lever.
Garantit enfin qu'un morceau de code sera exécuté quelle que soit "l'exception" qui se produit.
Vous pouvez écrire une instruction try en dehors d'un appel de fonction membre et écrire une autre instruction try à l'intérieur de la fonction membre pour protéger un autre code. Chaque fois qu'une instruction try est rencontrée, le cadre "exception" est placé sur la pile jusqu'à ce que toutes les instructions try soient terminées.
Si l'instruction try de niveau suivant ne gère pas une certaine "exception", la pile se développera jusqu'à ce qu'elle rencontre une instruction try qui gère cette "exception".
Lorsque le serveur re?oit les données du formulaire soumises par l'utilisateur, appelle-t-il la méthode doGet() ou doPost() du servlet??
Réponse?: L'élément

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.
