Top 120 Questions d’Entretien sur Java – Partie 2

Questions d’Entretien sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur Java comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son entretien sur Java .
 
 

1. Quelles sont les valeurs par défaut attribuées aux variables et aux instances en Java ?
  • Il n’y a pas de valeurs par défaut attribuées aux variables en java. Nous devons initialiser la valeur avant de l’utiliser. Sinon, il y aura une erreur de compilation.
  • Mais par exemple, si nous créons l’objet, alors la valeur par défaut sera initialisée par le constructeur par défaut en fonction du type de données.
  • Si c’est une référence, alors elle sera attribuée à null.
  • S’il s’agit d’un entier, alors la valeur 0 sera attribuée.
  • S’il s’agit d’un booléen, alors il sera attribuée à false. Etc…
 
 

2. Que signifie l’encapsulation des données ?
  • L’encapsulation des données est un concept de programmation orientée objet qui consiste à cacher les attributs des données et leurs comportements dans une seule unité.
  • Elle aide les développeurs à suivre la modularité tout en développant des logiciels en garantissant que chaque objet est indépendant des autres objets et possède ses propres méthodes, attributs et fonctionnalités.
  • Il est utilisé pour la sécurité des propriétés privées d’un objet et sert donc à cacher les données.

 
 

3. Comment déclarer une boucle infinie en Java ?
Les boucles infinies sont des boucles qui s’exécutent à l’infini sans aucune condition de rupture. Voici quelques exemples de boucles infinies:

Utilisation d’une boucle For :

for (;;)
{
   // code...
}

Utilisation d’une boucle While :

while(true){
   // code...
}

Utilisation d’une boucle Do-while :

do{
   // code...
}while(true);
 
 

4. La méthode principale main() peut-elle être surchargée ?
Oui, il est possible de surcharger la méthode main(). Nous pouvons créer autant de méthodes main() surchargées que nous le souhaitons. Cependant, JVM a une méthode d’appel prédéfinie selon laquelle JVM n’appellera la méthode main() qu’avec la définition suivante:

public static void main(string[] args)

Exemple de méthodes main() surchargées:

class Main {
 public static void main(String args[]) {
   System.out.println("Méthode main()");
 }
 public static void main(int[] args){
   System.out.println("Méthode main() surchargé avec tableau d'entiers");
 }
 public static void main(char[] args){
   System.out.println("Méthode main() surchargé avec tableau de caractères");
 }
 public static int main(double[] args){
   System.out.println("Méthode main() surchargé avec tableau de double");
 }
 public static void main(float args){
   System.out.println("Méthode main() surchargée en float");
 }
}
 
 

5. Expliquez l’utilisation du mot clé « final » dans une variable, une méthode et une classe.
En Java, le mot-clé « final » est utilisé pour définir quelque chose comme une constante.

  • Variable « final »:
    • Lorsqu’une variable est déclarée comme finale en Java, sa valeur ne peut pas être modifiée une fois qu’elle a été assignée.
  • Méthode « final »:
    • Une méthode déclarée comme final ne peut pas être surchargée par les classes fils.
  • Classe « final »:
    • Aucune classe ne peut être héritée d’une classe déclarée comme final. Mais cette classe final peut étendre d’autres classes pour son utilisation.
 
 

6. Les méthodes statiques peuvent-elles être surchargées ?
Oui! Il peut y avoir deux ou plusieurs méthodes statiques dans une classe avec le même nom mais des paramètres d’entrée différents.
 
 

7. Pourquoi la méthode main est-elle statique en Java ?
La méthode main() est toujours statique car les méthodes statiques sont celles qui appartiennent aux classes, et non à un objet particulier. Ainsi, si la méthode main() n’est pas statique, c’est-à-dire elle est disponible pour chaque objet. Et cela n’est pas acceptable pour la JVM. La JVM appelle la méthode main() en se basant sur le nom de la classe elle-même. Pas en créant l’objet.

Parce qu’il ne doit y avoir qu’une seule méthode main() dans un programme Java, car l’exécution commence à partir de la méthode main(). C’est pour cette raison que la méthode main() est statique.

 
 

8. Les méthodes statiques peuvent-elles être surchargées?
Non! La déclaration de méthodes statiques ayant la même signature peut être faite dans la sous-classe mais le polymorphisme à l’exécution ne peut pas avoir lieu dans de tels cas.

Le polymorphisme dynamique se produit pendant l’exécution, mais les méthodes statiques sont chargées et recherchées au moment de la compilation de manière statique. Par conséquent, ces méthodes ne peuvent pas être surchargées.

 
 

9. Différence entre les méthodes statiques, les variables statiques et les classes statiques en Java?
Les méthodes statiques et les variables statiques: sont les méthodes et les variables qui appartiennent à la classe du programme java, et non à l’objet de la classe. Elles sont mémorisées là où la classe est chargée. Et celles-ci peuvent être appelées directement avec le nom de la classe.

Par exemple, nous avons utilisé des fonctions mathématiques dans le programme java comme max(), min(), sqrt(), pow(), etc. Et si vous remarquez cela, vous verrez que nous les appelons directement avec le nom de la classe. Comme Math.max(), Math.min(), etc. Il s’agit donc d’une méthode statique.

public static void main(String args[])  
{
	int a = 20;  
	int b = 50;  
	System.out.println(Math.max(a, b));  // 50
}

Et de la même manière, nous avons utilisé des variables statiques comme (length) pour les tableaux afin d’obtenir la taille du tableau. Il s’agit donc d’une méthode statique.

public static void main(String args[])  
{
	int[] arr = new int[10];   
	System.out.println("Longueur du tableau: "+ arr.length);
}

Classes statiques: Une classe dans un programme Java ne peut pas être statique, sauf s’il s’agit d’une classe interne. Si c’est une classe statique interne, alors elle fonctionne exactement comme les autres membres statiques de la classe.

 

10. Parmi les propositions suivantes, quelle est la fonctionnalité de l’interpréteur Java?

A L’interpréteur n’est rien d’autre qu’un compilateur JIT.

B Il agit comme un intermédiaire entre la JVM et le JIT.

C Il effectue la conversion du code octet en code machine.

D Il lit le code de haut niveau et l’exécute.

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.