Maison  >  Article  >  Java  >  Questions d'entretien avec un stagiaire Java

Questions d'entretien avec un stagiaire Java

王林
王林avant
2020-10-23 15:35:2217380parcourir

Questions d'entretien avec un stagiaire Java

Voici quelques questions d'entretien de base pour les stagiaires Java :

( Autres recommandations de questions d'entretien connexes : questions et réponses d'entretien Java)

1. Qu'est-ce que Java exactement ?
Java est un langage de programmation orienté objet. Il a été lancé par SUN (Stanford University Network) en 1995 et a été acquis par ORACLE en 2010.

2. . Quelles sont ses caractéristiques ?
Java est un langage multiplateforme (compilé une fois, exécuté partout).
Par exemple : Java écrit le fichier hello.java sur la plate-forme Windows -> compile dans le fichier hello.class ; installez la machine virtuelle Java correspondante dans différents systèmes d'exploitation (toutes les plates-formes système doivent avoir une JVM pour exécuter le fichier de compilation Java), vous pouvez exécutez-le directement

3. Trois architectures techniques de Java
Les trois architectures techniques de base de Java sont : JavaSE, JavaEE, JavaME
JavaSE : C'est la base de JavaEE et JavaME et est très simple
JavaEE : une plateforme adaptée aux développeurs, principalement pour le développement de systèmes d'applications WEB
JavaME : développement de petits produits électroniques grand public tels que : des applications sur téléphones mobiles ; , robot de balayage)

4. Points à noter lors de l'écriture de programmes Java
(1) Java est sensible à la casse, et les Hello et hello correspondants sont différents
(2 ) En Java, pour toutes les classes, la première lettre de la classe doit être en majuscule. Si le nom de la classe est composé de plusieurs mots, la première lettre de chaque mot doit être en majuscule. Par exemple : MyFirstJava
(3) La première lettre de tous les noms de méthodes Java doit être en minuscule. S'il se compose de plusieurs mots, la première lettre des mots suivants doit être en majuscule. Par exemple : findByName
(4). Le fichier source doit être cohérent avec le nom de la classe

5 Quels types de données de base Java a-t-il
 ? types de données : byte, short, int, long, float, double, char, boolean (six types de nombres : quatre types entiers (byte, short, int, long), deux types à virgule flottante (float, double))
byte : Le type de données est un entier signé de 8 bits représenté par le complément à deux. Utilisé pour économiser de l'espace dans les grands tableaux. L'espace occupé par les variables d'octet n'est qu'un quart de celui du type int. Classe d'emballage correspondante : Octet, valeur (27- 27-1)
short : le type de données est de 16 bits, complément binaire L'entier représenté par le code. Le type de données court peut également économiser de l'espace comme l'octet. Une variable courte fait la moitié de la taille d’une variable int. Classe d'emballage correspondante : Court. Valeur (215- 215-1)
int : Le type de données est 32 bits, signé, exprimé en complément à deux entier. Les variables entières générales sont par défaut de type int. Valeur (231- 231-1)
long : Le type de données est 64 bits, signé, exprimé en complément à deux entier. Ce type de données est principalement utilisé sur les systèmes qui doivent comparer de grands entiers. Valeur (263- 263-1)
float : Le type de données est un nombre à virgule flottante simple précision de 32 bits. float peut économiser de l'espace mémoire lors du stockage de grands tableaux à virgule flottante. La valeur par défaut est 0,0f. Les nombres à virgule flottante ne peuvent pas être utilisés pour représenter des valeurs précises telles que la devise.
double : Le type de données est un nombre à virgule flottante double précision de 64 bits. Le type par défaut des nombres à virgule flottante est double. Le type double ne peut pas non plus représenter des valeurs précises, telles que la devise. La valeur par défaut est 0,0d.
char : Le type est un seul caractère Unicode de 16 bits. Le type de données char peut stocker n'importe quel caractère. Mais il ne peut stocker qu'un seul caractère
booléen : le type de données représente une information à un chiffre et n'a que deux valeurs : vrai et faux. Ce type est uniquement utilisé comme indicateur pour enregistrer les situations vraies et fausses, et la valeur par défaut est false.

6. Quels sont les modificateurs d'autorisation d'accès ?
Les modificateurs de droits d'accès incluent : public, protected, default (non écrit par défaut), privé
public : droits d'accès maximum, utilisés pour les interfaces externes
protected : utilisé pour protéger les sous-classes transmises à A thing hérité par les sous-classes
par défaut : conçu pour l'accès à ce package
privé : les droits d'accès sont limités à l'intérieur de la classe et ne sont pas accessibles aux classes externes
Questions dentretien avec un stagiaire Java
7. Comment exécuter un programme ?
Tous les programmes Java sont exécutés par la méthode public static viod main(String []args){}.

8. Quels sont les objets souvent mentionnés en Java ?
Un objet est une instance d'une classe, avec un état et un comportement.
Par exemple : un chien est un objet, son statut comprend : la couleur, le nom, la race ; les comportements incluent : remuer la queue, aboyer, manger, etc.
Les objets logiciels ont également un état et un comportement. Les objets d'un logiciel sont des attributs, et le comportement se reflète à travers des méthodes

9. Qu'est-ce qu'une classe ?
Une classe est un modèle, qui décrit le comportement et le statut d'une classe d'objets. Une classe peut avoir plusieurs méthodes

10 Comment construire les méthodes dans une classe ?
Lors de la création d'un objet, au moins un constructeur doit être appelé. Le nom du constructeur doit être le même que celui de la classe. Une classe peut avoir plusieurs constructeurs.

11. Comment créer un objet ?
Les objets sont créés en fonction des classes. En Java, utilisez le mot-clé new pour créer un nouvel objet. La création d'un objet nécessite trois étapes :
Déclaration : Déclarez un objet, incluant le nom de l'objet et le type de l'objet.
Instanciation : Utilisez le mot-clé new pour créer un objet
Initialisation : Lors de l'utilisation de new pour créer un objet, la méthode constructeur est appelée pour initialiser l'objet
Questions dentretien avec un stagiaire Java

12. Fichier source Existe-t-il des règles de déclaration pour les déclarations ?
(1) Le fichier source ne peut avoir qu'une seule classe publique
(2) Il peut y avoir plusieurs classes non publiques
(3) Le nom du fichier source doit avoir le même nom que la classe
(4) Si le fichier source est défini dans un package, le package d'importation doit être sur la première ligne du fichier source.
(5). Si le fichier source contient une instruction d'importation, alors elle est définie entre l'instruction package et la classe. S'il n'y a pas d'instruction package, l'instruction import doit être au début du fichier source
. (6), instruction d'importation et instruction package Valable pour toutes les classes définies dans le fichier source. Dans le même fichier source, différentes déclarations de package ne peuvent pas être définies pour différentes classes

13. Que sont les variables ?
Les variables s'appliquent à la mémoire pour stocker les valeurs. En d’autres termes, lors de la création d’une variable, vous devez demander de l’espace en mémoire. Le système de gestion de la mémoire alloue de l'espace en fonction du type de variable, et l'espace alloué ne peut être utilisé que pour stocker des données de ce type.

14. Quelle est la fonction de définir des variables ?
En définissant différents types, il peut être utilisé pour stocker différents types de nombres (tels que des entiers, des décimaux, des caractères)

15. Les différents types peuvent-ils être convertis ?
De bas en haut :
byte, short, char——>int——>long——>float——>double
peut être converti automatiquement.
(1). La conversion de type booléen ne peut pas être effectuée
(2) Le type d'objet ne peut pas être converti en objets de classes non liées
(3) Les types de grande capacité peuvent être convertis en types de petite capacité. Doit convertir (type) le type de valeur. Le processus de conversion peut provoquer un débordement ou une perte de précision
(4) La conversion de type automatique doit garantir que le nombre de chiffres des données avant la conversion est inférieur au nombre de chiffres du type de données après la conversion.
(5). La conversion de la virgule flottante en entier est obtenue directement en supprimant la partie décimale au lieu d'arrondir.
Par exemple : (int)23.7 == 23, (int)-23.7 == -23

16.
(·1) Opérateurs arithmétiques : similaires à ceux des mathématiques, principalement + - * % ++ -- (++a ajoute d'abord 1 à la base d'origine puis effectue l'opération, a– d'abord L'opération est soustrait par 1)
(2) Opérateurs logiques : principalement && ||!
(3) Opérateur d'affectation : Il joue principalement le rôle d'une affectation. Les plus couramment utilisés sont = += -=
(4) Opérateur conditionnel : Il est également appelé opérateur ternaire. Cet opérateur possède 3 opérandes et doit évaluer la valeur d'une expression booléenne. Le but principal de cet opérateur est de déterminer quelle valeur doit être attribuée à la variable
Par exemple : int a = (20==40 : 50 

17. Trois principaux ? structures de boucles en Java oui ?
Il existe trois structures de boucle principales en Java : boucle while, do... boucle while, boucle for
(1), while est la boucle la plus basique, sa structure est :
while( Expression booléenne){
//Contenu de la boucle
}
Tant que l'expression booléenne est vraie, la boucle continuera.
(2) La boucle do...while est familière à la boucle while. La différence est que la boucle do...while sera exécutée au moins une fois.
do{
//Contenu de la boucle
}while (expression booléenne)
(3) Le nombre d'exécutions de la boucle for est déterminé avant l'exécution
for (initialisation ; Expression booléenne ; mise à jour){
//Instruction de code
}

18. Existe-t-il des mots-clés pour les structures de boucle ?
Inclut principalement : break et continue ;
break : principalement utilisé dans les instructions de boucle ou les instructions switch pour sortir de l'ensemble du bloc d'instructions, break sort de la boucle actuelle et continue d'exécuter les instructions en dessous du bloc d'instructions ; boucle.
suite : Applicable à toute structure de contrôle de boucle, sa fonction est de permettre au programme de passer immédiatement à l'itération suivante de la boucle. Dans la boucle for, l'instruction continue fait passer le programme immédiatement à l'instruction update.
Dans les boucles while et do... while, le programme passe immédiatement à l'instruction de jugement de l'expression booléenne.

19. Qu'est-ce que la classe Nombre ?
Lorsqu'un type de données intégré est utilisé comme objet, le compilateur encadrera le type intégré dans une classe wrapper. La classe Number appartient au package java.lang. Toutes les classes wrapper (Integer, Long, Byte, Double, Float, Short) sont des sous-classes de la classe abstraite Number.

20. Qu'est-ce que le cours de mathématiques en Java ?
Contient des propriétés et des méthodes permettant d'effectuer des opérations mathématiques de base, telles que les exposants élémentaires, les objets, les racines carrées et les fonctions trigonométriques. Les méthodes mathématiques sont toutes définies sous forme statique. Il peut être appelé directement dans la fonction principale via la classe Math.

21. Quelle est la différence entre sol, rond et plafond en Maths ?
ceil : Renvoie le plus petit entier supérieur ou égal au paramètre de guidage (par exemple : Math.ceil(23.2) ==24 au lieu d'arrondi)
floor : Renvoie le plus grand entier inférieur ou égal au paramètre de guidage (par exemple : Math.ceil(23.7) ==23 au lieu d'arrondi)
round : Cela signifie arrondi, l'algorithme est Math.round(x+0.5), c'est-à-dire ajouter 0,5 à l'original nombre, puis arrondissez à l’inférieur. Ainsi, Math.round(11.4) est égal à 11, Math.round(11.5) est égal à 12 et Math.round(-11.5) est égal à -11.

22. Qu'est-ce que la classe Character et de quelles méthodes dispose-t-elle ?
Caractère : Il s'agit d'une classe wrapper fournie par le langage Java pour le type de données de base intégré char.
Les principales méthodes de Character sont : isLetter()—s'il s'agit d'une lettre ; toString—renvoie la longueur de la chaîne, la longueur de la chaîne est seulement 1 ; isUpperCase()—s'il s'agit d'une lettre majuscule isLowerCase() ; - s'il s'agit de lettres minuscules.

23. Quels sont les caractères d'échappement représentés par des caractères précédés d'une barre oblique inverse () ?
Les caractères d'échappement couramment utilisés sont : t (insérez une touche de tabulation ici dans le texte)
d (insérez une touche de retour ici dans le texte)
n (insérez une nouvelle ligne ici dans le texte)
r (insérer un retour chariot ici dans le texte)

24. Quelles sont les précautions à prendre pour la classe String de Java ?
Les chaînes sont des objets en Java, et Java fournit la classe String pour créer et manipuler des chaînes. La classe String ne peut pas être modifiée. Une fois qu'un objet String est créé, sa valeur ne peut pas être modifiée. Si vous devez modifier la chaîne, vous devez utiliser la classe StringBuffer ou StringBuilder.

25. Quelle est la différence entre la méthode length(), l'attribut length et la méthode size() ?
La méthode length() est destinée aux chaînes. Pour déterminer la longueur d'une chaîne, vous devez utiliser sa méthode length() ;
L'attribut length() est destiné aux tableaux en Java ; la longueur du tableau, vous pouvez utiliser son attribut length ;
size() en Java est destiné aux collections génériques. Si vous voulez voir combien d'éléments ce générique contient, appelez simplement cette méthode pour vérifier !

26. Quelles sont les méthodes de connexion des chaînes ?
Il existe deux types :
(1), String 1.concat (String 2)
(2), le plus couramment utilisé consiste à utiliser l'opération '+' pour concaténer des chaînes, telles que : "Bonjour"+"Word"+"!";

27. Quelle est la différence entre les classes StringBuffer et StringBuilder en Java ?
La classe StringBuilder a été proposée dans Java 5. La plus grande différence entre elle et StringBuffer est que les méthodes de StringBuilder ne sont pas thread-safe (ne sont pas accessibles de manière synchrone puisque StringBuilder a un avantage en termes de vitesse par rapport à StringBuffer, dans). dans la plupart des cas, utilisez StringBuilder. Cependant, dans les cas où l'application nécessite une sécurité linéaire, la classe StringBuffer doit être utilisée.

28. Comment StringBuffer implémente-t-il la modification d'objet ?
String Buffer a principalement la méthode append() pour terminer la connexion, la méthode insert() pour terminer l'ajout ; la méthode reverse() pour terminer l'inversion ; la méthode replace() pour terminer le remplacement.
Par exemple : buf.append("hi");
buf.insert(0,"Hello"); //Ajouter
buf.insert(buf.length,'Hello) avant le premier contenu '); //Insérer les données à la fin
String str = buf.reverse().toString(); //Inverser le contenu et le convertir en chaîne
buf.replace(6,11,"yes ”); //Remplacer le contenu du mot

29. Les tableaux peuvent-ils être passés en paramètres aux méthodes ?
Oui
Questions dentretien avec un stagiaire Java
30. Comment obtenir l'heure actuelle et personnaliser l'heure ?
Imprimer l'heure actuelle : Data data = new Date(); data est l'heure actuelle !
Questions dentretien avec un stagiaire Java
Définir le format de la date et de l'heure, SimpleDateFormat
SimpleDateFormat sc = new SimpleDateFormat("aaaa-MM-jj HH:mm:ss");
System.out.printf(sc. format (Temps de conversion))

31. Comment Java dort-il ?
Sleep() met le thread actuel dans un état stagnant (bloquant le processus en cours) et abandonne l'utilisation du CPU. Le but est d'empêcher le thread actuel d'occuper les ressources CPU obtenues par le thread seul. , afin de laisser un certain temps à Opportunity pour que les autres threads s'exécutent. Vous pouvez mettre le programme en veille pendant quelques millisecondes. Tread.sleep(1000*3) //Dormir pendant 3 secondes
Questions dentretien avec un stagiaire Java
32. Comment configurer des parties spécifiques du format de date, telles que l'année, le mois, le jour, les minutes et secondes ?
utilise la classe Calender. La classe Calender est une classe abstraite qui implémente des objets de sous-classes spécifiques en utilisation réelle. Le processus de création d'objets est transparent pour les programmeurs et doit uniquement être créé à l'aide de la méthode getInstance.
Questions dentretien avec un stagiaire Java

33. Y a-t-il des classes ou des méthodes à utiliser ?
Le package java.util.regex comprend principalement les trois classes suivantes :
Classe Pattern : L'objet Pattern est une représentation compilée d'une expression régulière. La classe Pattern n'a pas de constructeur public. Pour créer un objet Pattern, il faut d'abord appeler sa méthode compilée statique publique, qui renvoie un objet Pattern.
Classe Matcher : L'objet Matcher est un moteur qui compile et fait correspondre les chaînes d'entrée.
PatternSyntaxExeption : PatternSyntaxExeption est une classe d'exception non obligatoire qui représente une erreur de syntaxe dans un modèle d'expression régulière.
Questions dentretien avec un stagiaire Java

34. Quel est le lien entre les constructeurs et les méthodes ?
Le concept de méthode constructeur : Lorsqu'un objet est créé, le système appellera automatiquement la méthode constructeur. Lorsqu'il n'y a pas de constructeur personnalisé, le système appellera le constructeur par défaut. Les constructeurs peuvent être surchargés mais ne peuvent pas être réécrits. Différents constructeurs ont le même nom mais des listes de paramètres différentes. La liste de paramètres est la base et la norme d'identification, similaire au nom d'une personne, qui peut être le même mais la carte d'identité est différente.
Lors de la personnalisation du constructeur, le système fait automatiquement correspondre le constructeur pour initialiser l'objet en fonction du type et de la quantité de paramètres transmis.

35. Qu'est-ce que la classe Scanner ? Comment créer un objet Scanner
java.util.Scanner est une nouvelle fonctionnalité de java5. Nous pouvons obtenir l'avis de l'utilisateur.
Scanner sc = new Scanner();

36. Quelle est la différence entre les méthodes next() et nextLine() de la classe Scanner pour obtenir la chaîne d'entrée ?
next():
(1). La saisie ne doit être terminée qu'après la lecture des caractères valides
(2) Si un espace est rencontré entre les caractères valides pour la saisie, il sera automatiquement supprimé ; ;
(3). Ce n'est qu'en saisissant des caractères valides que l'espace saisi ultérieurement peut être utilisé comme séparateur ou terminateur ;
(4), next() ne peut pas obtenir une chaîne avec des espaces ;
(1), avec Entrée comme caractère de fin, c'est-à-dire entrez tous les caractères avant le retour chariot
(2), vous pouvez obtenir des espaces

37, Java trois ; De quel type d’exception s’agit-il ?
Exception de temps de vérification : Le type le plus courant d'exceptions vérifiées sont les exceptions causées par des erreurs de l'utilisateur ou des problèmes qui ne peuvent pas être prévus par le programmeur. Par exemple, lorsque vous souhaitez ouvrir un fichier qui n'existe pas, une exception se produit. Ces exceptions ne peuvent pas être simplement ignorées au moment de la compilation.
Exceptions d'exécution : les exceptions d'exécution sont des exceptions qui peuvent être évitées par les programmeurs. Contrairement aux exceptions vérifiées, les exceptions d'exécution peuvent être ignorées au moment de la compilation.
Erreur : les erreurs ne sont pas des exceptions, mais les problèmes hors du contrôle du programmeur sont généralement ignorés dans le code. Par exemple : lorsque la pile déborde, une erreur se produit qui ne peut pas être vérifiée lors de la compilation.

Tous les types d'exceptions en Java sont des sous-classes de la classe intégrée java.lang.Throwable, c'est-à-dire que Throwable est situé au niveau supérieur de la hiérarchie des classes d'exceptions. Il existe deux branches d'exception sous la classe Throwable, Exception et Error, comme le montre la figure.


Questions dentretien avec un stagiaire Java

38. Quelle est la différence entre les exceptions et les erreurs ? Toutes les exceptions héritent de la classe Throwable, ce qui signifie que toutes les exceptions sont un objet.
De manière générale, les exceptions peuvent être divisées en deux parties :
(1) Erreur : fait référence à une erreur qui ne peut pas être gérée par le programme, indiquant une erreur majeure qui se produit lors de l'exécution de l'application. Par exemple, l'OutOfMemoryError qui se produit lorsque le jvm est en cours d'exécution et que le port est occupé lors de la programmation du Socket et d'autres erreurs qui ne peuvent pas être gérées par le programme
(2) Exception : les exceptions peuvent être divisées en exceptions d'exécution et exceptions de compilation. Il existe deux classes d'exceptions principales : la classe IOException et la classe RuntimeException

39. Qu'est-ce que la capture des exceptions ? Utilisez des mots-clés try and catch pour intercepter les exceptions, et des blocs de code try/catch sont placés là où des exceptions peuvent se produire. Le code dans le bloc try/catch devient du code protégé.

40. Quelle est la différence entre les lancers et les mots-clés lancés ?
Si une méthode n'attrape pas une exception vérifiée, alors la méthode doit être déclarée à l'aide du mot-clé throws. Le mot-clé throws est placé à la fin de la signature de la méthode. Vous pouvez également utiliser throw pour lever une exception, qu'il s'agisse de la dernière instanciation ou simplement interceptée.
Une méthode peut être déclarée pour lever plusieurs exceptions, séparées par des virgules.

41. Comment personnaliser les exceptions en Java ?
Vous pouvez écrire votre propre classe d'exceptions :
(1) Toutes les exceptions doivent être des sous-classes de la classe Throwable
(2) Si vous souhaitez écrire une exception de contrôle, vous en avez besoin ; pour hériter de l'exception
(3) Si vous devez écrire une exception d'exécution, vous devez hériter de l'exception RuntimeException()

42. Qu'est-ce que l'héritage ? Quelles sont les caractéristiques de l’héritage ?
L'héritage se produit lorsqu'une sous-classe hérite des caractéristiques et des comportements de la classe parent, de sorte que l'objet de la sous-classe (instance) ait les champs d'instance et les méthodes de la classe parent, ou que la sous-classe hérite des méthodes de la classe parent. , afin que la sous-classe ait les mêmes caractéristiques que le comportement de la classe parent.
Caractéristiques :
(1). La sous-classe a les attributs et méthodes non privés de la classe parent
(2) La sous-classe peut avoir ses propres attributs et méthodes, c'est-à-dire que la sous-classe peut s'étendre ; la classe parent ;
(3) Les sous-classes peuvent avoir leur propre façon d'implémenter les méthodes de la classe parent ;
(4) L'héritage Java ne peut être qu'un héritage unique, mais l'héritage multiple est possible. La sous-classe ne peut hériter que d'une classe parent, l'héritage multiple est : A hérite de B, B hérite de C, donc selon la relation, la classe C est la classe parent de la classe B et B est la classe parent de A. C'est une caractéristique de Différence d'héritage Java par rapport à C++.

43. Quels sont les mots-clés de l'héritage ?
L'héritage peut être obtenu en utilisant les deux mots-clés extends et Implements. De plus, toutes les classes héritent de java.lang.Object Lorsqu'une classe n'a pas le mot-clé hérité, elle hérite de la classe Object par défaut (cette classe est dans le package java.lang, donc aucune importation de package n'est nécessaire).
super mot-clé  : Le super mot-clé peut être utilisé pour accéder aux membres de la classe parent et est utilisé pour référencer la classe parent dont hérite l'objet actuel.
Questions dentretien avec un stagiaire Java

ce mot clé : fait référence à une référence à lui-même.
mot-clé final  : déclarer une classe peut définir la classe comme une classe qui ne peut pas être héritée, c'est-à-dire une classe finale ou elle peut être utilisée pour modifier une méthode, qui ne peut pas être remplacée par des sous-classes ;

44. Quelles sont les caractéristiques du constructeur de la classe parent ?
Les sous-classes ne peuvent pas hériter du constructeur (constructeur et constructeur (avec paramètres)) de la classe parent. Cependant, si le constructeur de la classe parent a des paramètres, ils doivent être explicitement déclarés dans le constructeur de la sous-classe. la classe parent est appelée via le mot-clé supper est le constructeur et la liste de paramètres appropriée :
Questions dentretien avec un stagiaire Java
Questions dentretien avec un stagiaire Java
Si la classe parent a un constructeur sans argument, utilisez-le dans le constructeur du subclass Il n'est pas nécessaire que Supper appelle la classe parent. Si le mot-clé super n'est pas utilisé, le système appellera automatiquement le constructeur sans paramètre de la classe parent.

45. Qu'est-ce qu'une dérogation, qu'est-ce qu'une surcharge et quelle est la différence entre eux ?
Réécriture : La sous-classe réécrit et écrit le processus d'implémentation de la méthode de la classe parent qui permet d'accéder à . La valeur de retour et les paramètres ne peuvent pas être modifiés, c'est-à-dire. le shell ne peut pas changer, le noyau change. L’avantage de la substitution est que les sous-classes peuvent personnaliser leur propre comportement selon leurs besoins. En d’autres termes, les sous-classes peuvent implémenter les méthodes de la classe parent selon les besoins. Les méthodes de substitution ne peuvent pas lever d'exceptions vérifiées ou d'exceptions plus larges que la déclaration de la méthode de substitution.
Surcharge : La surcharge est dans une classe, le nom de la méthode est le même, mais les paramètres sont différents et le type de retour peut être identique ou différent. Chaque méthode (ou constructeur) surchargée doit avoir une liste unique de types de paramètres. Le plus courant est la surcharge du constructeur.
Différence : La réécriture de méthodes et la surcharge sont des manifestations différentes du polymorphisme Java. La réécriture est une manifestation du polymorphisme entre les classes parentes et les sous-classes. La surcharge peut être comprise comme l'expression spécifique de l'état.
(1) La surcharge de méthodes se produit lorsque plusieurs méthodes portant le même nom sont définies dans une classe et que les paramètres sont différents ou que le nombre est le même mais que les types sont différents et l'ordre est différent, cela devient une surcharge du méthode.
(2). Le remplacement de méthode est une méthode qui a le même nom que la méthode de la classe parent dans la sous-classe, et le nombre et le type de paramètres sont les mêmes, et la valeur de retour est la même. 🎜> (3) , La surcharge de méthode est une manifestation polymorphe d'une classe, et la substitution de méthode est une manifestation polymorphe d'une sous-classe et d'une classe parent.

46. Qu'est-ce qu'une classe abstraite et comment définir des classes et des méthodes abstraites ?
Classe abstraite : Sauf que les classes abstraites ne peuvent pas instancier des objets, d'autres fonctions de la classe existent toujours. Les méthodes d'accès aux variables membres, les méthodes membres et les constructeurs sont différentes des classes ordinaires. Puisque les classes abstraites ne peuvent pas instancier des objets, les classes abstraites doivent être héritées avant de pouvoir être utilisées :
Questions dentretien avec un stagiaire Java

La classe parent contient des méthodes communes pour les collections de sous-classes, mais parce que la classe parent elle-même est abstraite, ces méthodes ne peuvent donc pas être utilisées. En Java, les classes abstraites représentent une relation d'héritage. Une classe ne peut hériter que d'une seule classe abstraite, mais une classe peut implémenter plusieurs interfaces.
Définir une classe abstraite : utilisez une classe abstraite pour définir des classes abstraites en langage Java.
Définir une méthode abstraite : Si vous souhaitez concevoir une classe qui contient une méthode membre spéciale et que l'implémentation spécifique de cette méthode est déterminée par sa sous-classe, vous pouvez la déclarer dans la méthode de la classe parent . Le mot-clé Abstract est également utilisé pour déclarer des méthodes abstraites. Les méthodes abstraites contiennent uniquement un nom de méthode et aucun corps de méthode (les méthodes abstraites ne sont pas définies et le nom de la méthode est directement suivi d'un point-virgule au lieu d'accolades). Si une classe a une méthode abstraite, elle doit être une classe abstraite
Questions dentretien avec un stagiaire Java

47. Quelles sont les conséquences de la déclaration d'une méthode abstraite ?
(1) Si une classe contient des méthodes abstraites, alors la classe doit être une classe abstraite
(2) Toute sous-classe doit remplacer la méthode abstraite de la classe parent ou se déclarer comme une classe abstraite.

(Tutoriel recommandé : cours java)

48. Qu'est-ce que l'encapsulation et quels sont ses avantages ? Comment Java est-il encapsulé ?
Encapsulation : fait référence à une méthode de packaging et de masquage des détails d'implémentation d'une interface fonctionnelle abstraite. L'encapsulation peut être considérée comme une barrière de protection qui empêche l'accès aléatoire au code et aux données de la classe par le code défini par la classe externe.
Avantages :
(1) Une bonne encapsulation peut réduire le couplage
(2) La structure à l'intérieur de la classe peut être modifiée librement
(3) Les membres peuvent être modifiés. pour un contrôle plus précis ;
(4), Masquer les informations et les détails d'implémentation
pour l'encapsulation  :
(1), Modifier la visibilité des attributs pour restreindre l'accès aux attributs (généralement limité to private);
(2) Fournir un accès de méthode publique à l'interface externe pour chaque attribut de valeur. C'est-à-dire pour l'accès aux propriétés privées. (Habituellement, ces méthodes sont appelées méthodes getter et setter, comme les classes d'entités en cours de développement)

49. Quelles sont les similitudes et les différences entre les interfaces et les classes ?
Identique à :
(1), une interface peut avoir plusieurs méthodes ;
(2), le fichier d'interface est enregistré dans un fichier se terminant par .java
(3), interface Les fichiers de bytecode sont enregistrés dans des fichiers se terminant par .class
Différences :
(1) Les interfaces ne peuvent pas instancier des objets (comme les classes abstraites)
(2) Les interfaces n'ont pas de méthodes de construction
(3). Toutes les méthodes de l'interface doivent être des méthodes abstraites ;
(4) L'interface ne peut pas contenir de variables membres ;
(5) L'interface ne peut pas être héritée (implémentée par la classe
( 6). héritage multiple ;

50. Quelle est la différence entre une classe abstraite et une interface ?
(1) Les méthodes des classes abstraites peuvent avoir des corps de méthode, ce qui signifie qu'elles peuvent implémenter les fonctions spécifiques des méthodes, mais pas les méthodes des interfaces.
(2). Les variables membres dans les classes abstraites peuvent être de différents types, tandis que les variables membres dans les interfaces ne peuvent être que de type public static final
(3) Les interfaces ne peuvent pas contenir de blocs de code statiques et de méthodes statiques (méthodes modifiées ; avec statique), tandis que les classes abstraites peuvent avoir des blocs de code statiques et des méthodes statiques
(4). Une classe ne peut hériter que d'une seule classe abstraite et une classe peut implémenter plusieurs interfaces.
Les interfaces sont des ermites abstraits. Lors de la déclaration d'une interface, il n'est pas nécessaire d'utiliser le mot-clé abstract. Chaque méthode de l'interface est également implicitement abstraite, et il n'est pas nécessaire d'ajouter un résumé lors de sa déclaration. Méthodes dans une interface Il existe des classes dans l'interface qui implémentent l'interface pour implémenter les méthodes dans l'interface.

En tant que nouvel étudiant Java, les bases de Java sont cruciales et seront certainement posées. Si vous maîtrisez bien ces bases, les chances de réussir notre entretien seront très minces. Revoyons ensemble les bases de Java !

1、Java到底是什么东西?
Java是一款面向对象的编程语言,是SUN(斯坦福大学网络公司)1995年推出的,在2010年被ORACLE收购

2、Java这么热门它有什么特点呢?
Java是跨平台性的语言(一处编译,到处执行)。
例如:Java在Windows平台中编写hello.java文件—>编译成hello.class文件;在不同的操作系统中安装对应的Java虚拟机(所有的系统平台必须有JVM才可以运行Java编译的文件),就可以直接运行

3、Java的三种技术架构
Java三种基本技术架构分别是:JavaSE、JavaEE、JavaME
JavaSE:是JavaEE与JavaME的基础,是非常平面话的
JavaEE:适合开发者的平台主要针对WEB应用系统的开发
JavaME:开发小型的电子消费品;比如:手机上的APP;机器上的语言(电梯、扫地机器人)

4、在编写Java程序时的注意点
(1)、Java是大小写敏感的,对应的Hello和hello是不同的
(2)、Java对于所有的类来说,类的首字母应该大写、若类名有多个单词组成,则每个单词首字母都应该大写。如:MyFirstJava
(3)、Java所有的方法名首字母都应该小写,如有多个单词组成,则后面的单词首字母要大写。如:findByName
(4)、源文件必须与类名一致

5、Java有那几个基本数据类型
Java有八种基本数据类型:byte、short、int、long、float、double、char、boolean(六种数字类型:四个整型(byte、short、int、long),两个浮点型(float、double))
byte:数据类型是8位、有符号的,以二进制补码表示的整数。用于大型数组中节约空间,用为byte变量占用的空间只有int类型的四分之一。对应的包装类:Byte,取值(27- 27-1)
short:数据类型是16位、以二进制补码表示的整数。short数据类型也可以像byte那样节约空间。一个short变量是int型变量的二分之一。对应的包装类:Short。取值(215- 215-1)
int:数据类型是32位、有符号的,以二进制补码表示的整数。一般的整型变量默认为int类型。取值(231- 231-1)
long:数据类型是64位,有符号的,以二进制补码表示的整数。这种数据类型主要使用在需要比较大整数的系统上。取值(263- 263-1)
float:数据类型是单精度、32位的浮点数。float在存储大型浮点数组的时候可以节约内存空间。默认值是0.0f。浮点数不能用来表示精确的值,如货币。
double:数据类型是双精度、64位的浮点数。浮点数的默认类型位double类型。double类型同样不能表示精确的值,如货币。默认值是0.0d。
char:类型是一个单一的16位Unicode字符。char数据类型可以存储任何字符。但只能存储一个字符
boolean:数据类型表示一位数字信息,只有两个取值:true和false。这种类型只作为一种标志来记录true\false情况,默认值是false。

6、访问权限修饰符分别是什么?
访问权限修饰符有:public、protected、default(默认不写)、private
public:最大访问权,用于对外的接口
protected:用于保护子类传递给子类一种继承的东西
default:是针对与本包的访问而设计的
private:访问权限仅限于类的内部,不能被外层的类访问
Questions dentretien avec un stagiaire Java
7、怎样才能运行一个程序?
所有的Java程序都是由public static viod main(String []args){}方法开始执行。

8. Quels sont les objets souvent mentionnés en Java ?
Un objet est une instance d'une classe, avec un état et un comportement.
Par exemple : un chien est un objet, son statut comprend : la couleur, le nom, la race ; les comportements incluent : remuer la queue, aboyer, manger, etc.
Les objets logiciels ont également un état et un comportement. Les objets d'un logiciel sont des attributs, et le comportement se reflète à travers des méthodes

9. Qu'est-ce qu'une classe ?
Une classe est un modèle, qui décrit le comportement et le statut d'une classe d'objets. Une classe peut avoir plusieurs méthodes

10 Comment construire les méthodes dans une classe ?
Lors de la création d'un objet, au moins un constructeur doit être appelé. Le nom du constructeur doit être le même que celui de la classe. Une classe peut avoir plusieurs constructeurs.

11. Comment créer un objet ?
Les objets sont créés en fonction des classes. En Java, utilisez le mot-clé new pour créer un nouvel objet. La création d'un objet nécessite trois étapes :
Déclaration : Déclarez un objet, incluant le nom de l'objet et le type de l'objet.
Instanciation : Utilisez le mot-clé new pour créer un objet
Initialisation : Lors de l'utilisation de new pour créer un objet, la méthode constructeur est appelée pour initialiser l'objet
Questions dentretien avec un stagiaire Java

12. Fichier source Existe-t-il des règles de déclaration pour les déclarations ?
(1) Le fichier source ne peut avoir qu'une seule classe publique
(2) Il peut y avoir plusieurs classes non publiques
(3) Le nom du fichier source doit avoir le même nom que la classe
(4) Si le fichier source est défini dans un package, le package d'importation doit être sur la première ligne du fichier source.
(5). Si le fichier source contient une instruction d'importation, alors elle est définie entre l'instruction package et la classe. S'il n'y a pas d'instruction package, l'instruction import doit être au début du fichier source
. (6), instruction d'importation et instruction package Valable pour toutes les classes définies dans le fichier source. Dans le même fichier source, différentes déclarations de package ne peuvent pas être définies pour différentes classes

13. Que sont les variables ?
Les variables s'appliquent à la mémoire pour stocker les valeurs. En d’autres termes, lors de la création d’une variable, vous devez demander de l’espace en mémoire. Le système de gestion de la mémoire alloue de l'espace en fonction du type de variable, et l'espace alloué ne peut être utilisé que pour stocker des données de ce type.

14. Quelle est la fonction de définir des variables ?
En définissant différents types, il peut être utilisé pour stocker différents types de nombres (tels que des entiers, des décimaux, des caractères)

15. Les différents types peuvent-ils être convertis ?
De bas en haut :
byte, short, char——>int——>long——>float——>double
peut être converti automatiquement.
(1). La conversion de type booléen ne peut pas être effectuée
(2) Le type d'objet ne peut pas être converti en objets de classes non liées
(3) Les types de grande capacité peuvent être convertis en types de petite capacité. Doit convertir (type) le type de valeur. Le processus de conversion peut provoquer un débordement ou une perte de précision
(4) La conversion de type automatique doit garantir que le nombre de chiffres des données avant la conversion est inférieur au nombre de chiffres du type de données après la conversion.
(5). La conversion de la virgule flottante en entier est obtenue directement en supprimant la partie décimale au lieu d'arrondir.
Par exemple : (int)23.7 == 23, (int)-23.7 == -23

16.
(·1) Opérateurs arithmétiques : similaires à ceux des mathématiques, principalement + - * % ++ -- (++a ajoute d'abord 1 à la base d'origine puis effectue l'opération, a– d'abord L'opération est soustrait par 1)
(2) Opérateurs logiques : principalement && ||!
(3) Opérateur d'affectation : Il joue principalement le rôle d'une affectation. Les plus couramment utilisés sont = += -=
(4) Opérateur conditionnel : Il est également appelé opérateur ternaire. Cet opérateur possède 3 opérandes et doit évaluer la valeur d'une expression booléenne. Le but principal de cet opérateur est de déterminer quelle valeur doit être attribuée à la variable
Par exemple : int a = (20==40 : 50 

17. Trois principaux ? structures de boucles en Java oui ?
Il existe trois structures de boucle principales en Java : boucle while, do... boucle while, boucle for
(1), while est la boucle la plus basique, sa structure est :
while( Expression booléenne){
//Contenu de la boucle
}
Tant que l'expression booléenne est vraie, la boucle continuera.
(2) La boucle do...while est familière à la boucle while. La différence est que la boucle do...while sera exécutée au moins une fois.
do{
//Contenu de la boucle
}while (expression booléenne)
(3) Le nombre d'exécutions de la boucle for est déterminé avant l'exécution
for (initialisation ; Expression booléenne ; mise à jour){
//Instruction de code
}

18. Existe-t-il des mots-clés pour les structures de boucle ?
Inclut principalement : break et continue ;
break : principalement utilisé dans les instructions de boucle ou les instructions switch pour sortir de l'ensemble du bloc d'instructions, break sort de la boucle actuelle et continue d'exécuter les instructions en dessous du bloc d'instructions ; boucle.
suite : Applicable à toute structure de contrôle de boucle, sa fonction est de permettre au programme de passer immédiatement à l'itération suivante de la boucle. Dans la boucle for, l'instruction continue fait passer le programme immédiatement à l'instruction update.
Dans les boucles while et do... while, le programme passe immédiatement à l'instruction de jugement de l'expression booléenne.

19. Qu'est-ce que la classe Nombre ?
Lorsqu'un type de données intégré est utilisé comme objet, le compilateur encadrera le type intégré dans une classe wrapper. La classe Number appartient au package java.lang. Toutes les classes wrapper (Integer, Long, Byte, Double, Float, Short) sont des sous-classes de la classe abstraite Number.

20. Qu'est-ce que le cours de mathématiques en Java ?
Contient des propriétés et des méthodes permettant d'effectuer des opérations mathématiques de base, telles que les exposants élémentaires, les objets, les racines carrées et les fonctions trigonométriques. Les méthodes mathématiques sont toutes définies sous forme statique. Il peut être appelé directement dans la fonction principale via la classe Math.

21. Quelle est la différence entre sol, rond et plafond en Maths ?
ceil : Renvoie le plus petit entier supérieur ou égal au paramètre de guidage (par exemple : Math.ceil(23.2) ==24 au lieu d'arrondi)
floor : Renvoie le plus grand entier inférieur ou égal au paramètre de guidage (par exemple : Math.ceil(23.7) ==23 au lieu d'arrondi)
round : Cela signifie arrondi, l'algorithme est Math.round(x+0.5), c'est-à-dire ajouter 0,5 à l'original nombre, puis arrondissez à l’inférieur. Ainsi, Math.round(11.4) est égal à 11, Math.round(11.5) est égal à 12 et Math.round(-11.5) est égal à -11.

22. Qu'est-ce que la classe Character et de quelles méthodes dispose-t-elle ?
Caractère : Il s'agit d'une classe wrapper fournie par le langage Java pour le type de données de base intégré char.
Les principales méthodes de Character sont : isLetter()—s'il s'agit d'une lettre ; toString—renvoie la longueur de la chaîne, la longueur de la chaîne est seulement 1 ; isUpperCase()—s'il s'agit d'une lettre majuscule isLowerCase() ; - s'il s'agit de lettres minuscules.

23. Quels sont les caractères d'échappement représentés par des caractères précédés d'une barre oblique inverse () ?
Les caractères d'échappement couramment utilisés sont : t (insérez une touche de tabulation ici dans le texte)
d (insérez une touche de retour ici dans le texte)
n (insérez une nouvelle ligne ici dans le texte)
r (insérer un retour chariot ici dans le texte)

24. Quelles sont les précautions à prendre pour la classe String de Java ?
Les chaînes sont des objets en Java, et Java fournit la classe String pour créer et manipuler des chaînes. La classe String ne peut pas être modifiée. Une fois qu'un objet String est créé, sa valeur ne peut pas être modifiée. Si vous devez modifier la chaîne, vous devez utiliser la classe StringBuffer ou StringBuilder.

25. Quelle est la différence entre la méthode length(), l'attribut length et la méthode size() ?
La méthode length() est destinée aux chaînes. Pour déterminer la longueur d'une chaîne, vous devez utiliser sa méthode length() ;
L'attribut length() est destiné aux tableaux en Java ; la longueur du tableau, vous pouvez utiliser son attribut length ;
size() en Java est destiné aux collections génériques. Si vous voulez voir combien d'éléments ce générique contient, appelez simplement cette méthode pour vérifier !

26. Quelles sont les méthodes de connexion des chaînes ?
Il existe deux types :
(1), String 1.concat (String 2)
(2), le plus couramment utilisé consiste à utiliser l'opération '+' pour concaténer des chaînes, telles que : "Bonjour"+"Word"+"!";

27. Quelle est la différence entre les classes StringBuffer et StringBuilder en Java ?
La classe StringBuilder a été proposée dans Java 5. La plus grande différence entre elle et StringBuffer est que les méthodes de StringBuilder ne sont pas thread-safe (ne sont pas accessibles de manière synchrone puisque StringBuilder a un avantage en termes de vitesse par rapport à StringBuffer, dans). dans la plupart des cas, utilisez StringBuilder. Cependant, dans les cas où l'application nécessite une sécurité linéaire, la classe StringBuffer doit être utilisée.

28. Comment StringBuffer implémente-t-il la modification d'objet ?
String Buffer a principalement la méthode append() pour terminer la connexion, la méthode insert() pour terminer l'ajout ; la méthode reverse() pour terminer l'inversion ; la méthode replace() pour terminer le remplacement.
Par exemple : buf.append("hi");
buf.insert(0,"Hello"); //Ajouter
buf.insert(buf.length,'Hello) avant le premier contenu '); //Insérer les données à la fin
String str = buf.reverse().toString(); //Inverser le contenu et le convertir en chaîne
buf.replace(6,11,"yes ”); //Remplacer le contenu du mot

29. Les tableaux peuvent-ils être passés en paramètres aux méthodes ?
Oui
Questions dentretien avec un stagiaire Java
30. Comment obtenir l'heure actuelle et personnaliser l'heure ?
Imprimer l'heure actuelle : Data data = new Date(); data est l'heure actuelle !
Questions dentretien avec un stagiaire Java
Définir le format de la date et de l'heure, SimpleDateFormat
SimpleDateFormat sc = new SimpleDateFormat("aaaa-MM-jj HH:mm:ss");
System.out.printf(sc. format (Temps de conversion))

31. Comment Java dort-il ?
Sleep() met le thread actuel dans un état stagnant (bloquant le processus en cours) et abandonne l'utilisation du CPU. Le but est d'empêcher le thread actuel d'occuper les ressources CPU obtenues par le thread seul. , afin de laisser un certain temps à Opportunity pour que les autres threads s'exécutent. Vous pouvez mettre le programme en veille pendant quelques millisecondes. Tread.sleep(1000*3) //Dormir pendant 3 secondes
Questions dentretien avec un stagiaire Java
32. Comment configurer des parties spécifiques du format de date, telles que l'année, le mois, le jour, les minutes et secondes ?
utilise la classe Calender. La classe Calender est une classe abstraite qui implémente des objets de sous-classes spécifiques en utilisation réelle. Le processus de création d'objets est transparent pour les programmeurs et doit uniquement être créé à l'aide de la méthode getInstance.
Questions dentretien avec un stagiaire Java

33. Y a-t-il des classes ou des méthodes à utiliser ?
Le package java.util.regex comprend principalement les trois classes suivantes :
Classe Pattern : L'objet Pattern est une représentation compilée d'une expression régulière. La classe Pattern n'a pas de constructeur public. Pour créer un objet Pattern, il faut d'abord appeler sa méthode compilée statique publique, qui renvoie un objet Pattern.
Classe Matcher : L'objet Matcher est un moteur qui compile et fait correspondre les chaînes d'entrée.
PatternSyntaxExeption : PatternSyntaxExeption est une classe d'exception non obligatoire qui représente une erreur de syntaxe dans un modèle d'expression régulière.
Questions dentretien avec un stagiaire Java

34. Quel est le lien entre les constructeurs et les méthodes ?
Le concept de méthode constructeur : Lorsqu'un objet est créé, le système appellera automatiquement la méthode constructeur. Lorsqu'il n'y a pas de constructeur personnalisé, le système appellera le constructeur par défaut. Les constructeurs peuvent être surchargés mais ne peuvent pas être réécrits. Différents constructeurs ont le même nom mais des listes de paramètres différentes. La liste de paramètres est la base et la norme d'identification, similaire au nom d'une personne, qui peut être le même mais la carte d'identité est différente.
Lors de la personnalisation du constructeur, le système fait automatiquement correspondre le constructeur pour initialiser l'objet en fonction du type et de la quantité de paramètres transmis.

35. Qu'est-ce que la classe Scanner ? Comment créer un objet Scanner
java.util.Scanner est une nouvelle fonctionnalité de java5. Nous pouvons obtenir l'avis de l'utilisateur.
Scanner sc = new Scanner();

36. Quelle est la différence entre les méthodes next() et nextLine() de la classe Scanner pour obtenir la chaîne d'entrée ?
next():
(1). La saisie ne doit être terminée qu'après la lecture des caractères valides
(2) Si un espace est rencontré entre les caractères valides pour la saisie, il sera automatiquement supprimé ; ;
(3). Ce n'est qu'en saisissant des caractères valides que l'espace saisi ultérieurement peut être utilisé comme séparateur ou terminateur ;
(4), next() ne peut pas obtenir une chaîne avec des espaces ;
(1), avec Entrée comme caractère de fin, c'est-à-dire entrez tous les caractères avant le retour chariot
(2), vous pouvez obtenir des espaces

37, Java trois ; De quel type d’exception s’agit-il ?
Exception de temps de vérification : Le type le plus courant d'exceptions vérifiées sont les exceptions causées par des erreurs de l'utilisateur ou des problèmes qui ne peuvent pas être prévus par le programmeur. Par exemple, lorsque vous souhaitez ouvrir un fichier qui n'existe pas, une exception se produit. Ces exceptions ne peuvent pas être simplement ignorées au moment de la compilation.
Exceptions d'exécution : les exceptions d'exécution sont des exceptions qui peuvent être évitées par les programmeurs. Contrairement aux exceptions vérifiées, les exceptions d'exécution peuvent être ignorées au moment de la compilation.
Erreur : les erreurs ne sont pas des exceptions, mais les problèmes hors du contrôle du programmeur sont généralement ignorés dans le code. Par exemple : lorsque la pile déborde, une erreur se produit qui ne peut pas être vérifiée lors de la compilation.

Tous les types d'exceptions en Java sont des sous-classes de la classe intégrée java.lang.Throwable, c'est-à-dire que Throwable est situé au niveau supérieur de la hiérarchie des classes d'exceptions. Il existe deux branches d'exception sous la classe Throwable, Exception et Error, comme le montre la figure.


Questions dentretien avec un stagiaire Java

38. Quelle est la différence entre les exceptions et les erreurs ? Toutes les exceptions héritent de la classe Throwable, ce qui signifie que toutes les exceptions sont un objet.
De manière générale, les exceptions peuvent être divisées en deux parties :
(1) Erreur : fait référence à une erreur qui ne peut pas être gérée par le programme, indiquant une erreur majeure qui se produit lors de l'exécution de l'application. Par exemple, l'OutOfMemoryError qui se produit lorsque le jvm est en cours d'exécution et que le port est occupé lors de la programmation du Socket et d'autres erreurs qui ne peuvent pas être gérées par le programme
(2) Exception : les exceptions peuvent être divisées en exceptions d'exécution et exceptions de compilation. Il existe deux classes d'exceptions principales : la classe IOException et la classe RuntimeException

39. Qu'est-ce que la capture des exceptions ? Utilisez des mots-clés try and catch pour intercepter les exceptions, et des blocs de code try/catch sont placés là où des exceptions peuvent se produire. Le code dans le bloc try/catch devient du code protégé.

40. Quelle est la différence entre les lancers et les mots-clés lancés ?
Si une méthode n'attrape pas une exception vérifiée, alors la méthode doit être déclarée à l'aide du mot-clé throws. Le mot-clé throws est placé à la fin de la signature de la méthode. Vous pouvez également utiliser throw pour lever une exception, qu'il s'agisse de la dernière instanciation ou simplement interceptée.
Une méthode peut être déclarée pour lever plusieurs exceptions, séparées par des virgules.

41. Comment personnaliser les exceptions en Java ?
Vous pouvez écrire votre propre classe d'exceptions :
(1) Toutes les exceptions doivent être des sous-classes de la classe Throwable
(2) Si vous souhaitez écrire une exception de contrôle, vous en avez besoin ; pour hériter de l'exception
(3) Si vous devez écrire une exception d'exécution, vous devez hériter de l'exception RuntimeException()

42. Qu'est-ce que l'héritage ? Quelles sont les caractéristiques de l’héritage ?
L'héritage se produit lorsqu'une sous-classe hérite des caractéristiques et des comportements de la classe parent, de sorte que l'objet de la sous-classe (instance) ait les champs d'instance et les méthodes de la classe parent, ou que la sous-classe hérite des méthodes de la classe parent. , afin que la sous-classe ait les mêmes caractéristiques que le comportement de la classe parent.
Caractéristiques :
(1). La sous-classe a les attributs et méthodes non privés de la classe parent
(2) La sous-classe peut avoir ses propres attributs et méthodes, c'est-à-dire que la sous-classe peut s'étendre ; la classe parent ;
(3) Les sous-classes peuvent avoir leur propre façon d'implémenter les méthodes de la classe parent ;
(4) L'héritage Java ne peut être qu'un héritage unique, mais l'héritage multiple est possible. La sous-classe ne peut hériter que d'une classe parent, l'héritage multiple est : A hérite de B, B hérite de C, donc selon la relation, la classe C est la classe parent de la classe B et B est la classe parent de A. C'est une caractéristique de Différence d'héritage Java par rapport à C++.

43. Quels sont les mots-clés de l'héritage ?
L'héritage peut être obtenu en utilisant les deux mots-clés extends et Implements. De plus, toutes les classes héritent de java.lang.Object Lorsqu'une classe n'a pas le mot-clé hérité, elle hérite de la classe Object par défaut (cette classe est dans le package java.lang, donc aucune importation de package n'est nécessaire).
super mot-clé  : Le super mot-clé peut être utilisé pour accéder aux membres de la classe parent et est utilisé pour référencer la classe parent dont hérite l'objet actuel.
Questions dentretien avec un stagiaire Java

ce mot clé : fait référence à une référence à lui-même.
mot-clé final  : déclarer une classe peut définir la classe comme une classe qui ne peut pas être héritée, c'est-à-dire une classe finale ou elle peut être utilisée pour modifier une méthode, qui ne peut pas être remplacée par des sous-classes ;

44. Quelles sont les caractéristiques du constructeur de la classe parent ?
Les sous-classes ne peuvent pas hériter du constructeur (constructeur et constructeur (avec paramètres)) de la classe parent. Cependant, si le constructeur de la classe parent a des paramètres, ils doivent être explicitement déclarés dans le constructeur de la sous-classe. la classe parent est appelée via le mot-clé supper est le constructeur et la liste de paramètres appropriée :
Questions dentretien avec un stagiaire Java
Questions dentretien avec un stagiaire Java
Si la classe parent a un constructeur sans argument, utilisez-le dans le constructeur du subclass Il n'est pas nécessaire que Supper appelle la classe parent. Si le mot-clé super n'est pas utilisé, le système appellera automatiquement le constructeur sans paramètre de la classe parent.

45. Qu'est-ce qu'une dérogation, qu'est-ce qu'une surcharge et quelle est la différence entre eux ?
Réécriture : La sous-classe réécrit et écrit le processus d'implémentation de la méthode de la classe parent qui permet d'accéder à . La valeur de retour et les paramètres ne peuvent pas être modifiés, c'est-à-dire. le shell ne peut pas changer, le noyau change. L’avantage de la substitution est que les sous-classes peuvent personnaliser leur propre comportement selon leurs besoins. En d’autres termes, les sous-classes peuvent implémenter les méthodes de la classe parent selon les besoins. Les méthodes de substitution ne peuvent pas lever d'exceptions vérifiées ou d'exceptions plus larges que la déclaration de la méthode de substitution.
Surcharge : La surcharge est dans une classe, le nom de la méthode est le même, mais les paramètres sont différents et le type de retour peut être identique ou différent. Chaque méthode (ou constructeur) surchargée doit avoir une liste unique de types de paramètres. Le plus courant est la surcharge du constructeur.
Différence : La réécriture de méthodes et la surcharge sont des manifestations différentes du polymorphisme Java. La réécriture est une manifestation du polymorphisme entre les classes parentes et les sous-classes. La surcharge peut être comprise comme l'expression spécifique de l'état.
(1) La surcharge de méthodes se produit lorsque plusieurs méthodes portant le même nom sont définies dans une classe et que les paramètres sont différents ou que le nombre est le même mais que les types sont différents et l'ordre est différent, cela devient une surcharge du méthode.
(2). Le remplacement de méthode est une méthode qui a le même nom que la méthode de la classe parent dans la sous-classe, et le nombre et le type de paramètres sont les mêmes, et la valeur de retour est la même. 🎜> (3) , La surcharge de méthode est une manifestation polymorphe d'une classe, et la substitution de méthode est une manifestation polymorphe d'une sous-classe et d'une classe parent.

46、什么是抽象类,如何定义抽象类与方法?
抽象类:抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量,成员方法和构造方法的访问方式和普通类不一样。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用:
Questions dentretien avec un stagiaire Java

La classe parent contient des méthodes communes pour les collections de classes enfants, mais comme la classe parent elle-même est abstraite, ces méthodes ne peuvent pas être utilisées. En Java, les classes abstraites représentent une relation d'héritage. Une classe ne peut hériter que d'une seule classe abstraite, mais une classe peut implémenter plusieurs interfaces.
Définir une classe abstraite : utilisez une classe abstraite pour définir des classes abstraites en langage Java.
Définir une méthode abstraite : Si vous souhaitez concevoir une classe qui contient une méthode membre spéciale et que l'implémentation spécifique de cette méthode est déterminée par sa sous-classe, vous pouvez la déclarer dans la méthode de la classe parent . Le mot-clé Abstract est également utilisé pour déclarer des méthodes abstraites. Les méthodes abstraites contiennent uniquement un nom de méthode et aucun corps de méthode (les méthodes abstraites ne sont pas définies et le nom de la méthode est directement suivi d'un point-virgule au lieu d'accolades). Si une classe a une méthode abstraite, elle doit être une classe abstraite
Questions dentretien avec un stagiaire Java

47. Quelles sont les conséquences de la déclaration d'une méthode abstraite ?
(1) Si une classe contient des méthodes abstraites, alors la classe doit être une classe abstraite
(2) Toute sous-classe doit remplacer la méthode abstraite de la classe parent ou se déclarer comme une classe abstraite.

48. Qu'est-ce que l'encapsulation et quels sont ses avantages ? Comment Java est-il encapsulé ?
Encapsulation : fait référence à une méthode de packaging et de masquage des détails d'implémentation d'une interface fonctionnelle abstraite. L'encapsulation peut être considérée comme une barrière de protection qui empêche l'accès aléatoire au code et aux données de la classe par le code défini par la classe externe.
Avantages :
(1) Une bonne encapsulation peut réduire le couplage
(2) La structure à l'intérieur de la classe peut être modifiée librement
(3) Les membres peuvent être modifiés. pour un contrôle plus précis ;
(4), Masquer les informations et les détails d'implémentation
pour l'encapsulation  :
(1), Modifier la visibilité des attributs pour restreindre l'accès aux attributs (généralement limité to private);
(2) Fournir un accès de méthode publique à l'interface externe pour chaque attribut de valeur. C'est-à-dire pour l'accès aux propriétés privées. (Habituellement, ces méthodes sont appelées méthodes getter et setter, comme les classes d'entités en cours de développement)

49. Quelles sont les similitudes et les différences entre les interfaces et les classes ?
Identique à :
(1), une interface peut avoir plusieurs méthodes ;
(2), le fichier d'interface est enregistré dans un fichier se terminant par .java
(3), interface Les fichiers de bytecode sont enregistrés dans des fichiers se terminant par .class
Différences :
(1) Les interfaces ne peuvent pas instancier des objets (comme les classes abstraites)
(2) Les interfaces n'ont pas de méthodes de construction
(3). Toutes les méthodes de l'interface doivent être des méthodes abstraites ;
(4) L'interface ne peut pas contenir de variables membres ;
(5) L'interface ne peut pas être héritée (implémentée par la classe
( 6). héritage multiple ;

50. Quelle est la différence entre une classe abstraite et une interface ?
(1) Les méthodes des classes abstraites peuvent avoir des corps de méthode, ce qui signifie qu'elles peuvent implémenter les fonctions spécifiques des méthodes, mais pas les méthodes des interfaces.
(2). Les variables membres dans les classes abstraites peuvent être de différents types, tandis que les variables membres dans les interfaces ne peuvent être que de type public static final
(3) Les interfaces ne peuvent pas contenir de blocs de code statiques et de méthodes statiques (méthodes modifiées ; avec statique), tandis que les classes abstraites peuvent avoir des blocs de code statiques et des méthodes statiques
(4). Une classe ne peut hériter que d'une seule classe abstraite et une classe peut implémenter plusieurs interfaces.
Les interfaces sont des ermites abstraits. Lors de la déclaration d'une interface, il n'est pas nécessaire d'utiliser le mot-clé abstract. Chaque méthode de l'interface est également implicitement abstraite, et il n'est pas nécessaire d'ajouter un résumé lors de sa déclaration. Méthodes dans une interface Il existe des classes dans l'interface qui implémentent l'interface pour implémenter les méthodes dans l'interface.

Recommandations associées : Démarrez avec 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer