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