Les questions pouvant être posées par des recruteurs sont nombreuses. Ce sont quelques-unes des questions les plus fréquemment posées. Prenez le temps de lire ces questions et réfléchir soigneusement à la façon dont vous répondriez à chacune d’elles lorsqu’on vous le demandera.
1. Quelle est la différence entre une interface et une classe abstraite?
Une classe abstraite peut contenir des méthodes abstraites et des méthodes avec une implémentation, ainsi que des attributs et des constructeurs. Une interface définit principalement un contrat que les classes doivent respecter (et, depuis Java 8, peut également contenir des méthodes default et static). Une classe ne peut hériter que d’une seule classe abstraite, mais elle peut implémenter plusieurs interfaces.
2. Comment savez-vous si un casting d’objet explicite est nécessaire?
Lorsqu’un objet d’une superclasse est affecté à une variable d’une sous-classe, une conversion explicite (casting) est nécessaire, car le compilateur ne peut pas garantir que l’objet est réellement une instance de la sous-classe. Par exemple:
Object a;
Person b;
b = (Person) a;
En revanche, l’affectation d’un objet d’une sous-classe à une variable de sa superclasse est automatique (upcasting), car toute sous-classe est aussi une instance de sa superclasse.
3. Quelle est la différence entre un constructeur et une méthode?
Un constructeur doit avoir le même nom que la classe et ne peuvent pas renvoyer de valeur. Le constructeur n’est appelé qu’une seule fois alors qu’une méthode peut être appelée plusieurs fois.
4. Pouvez-vous écrire une classe Java qui pourrait être utilisée à la fois comme une applet et comme une application?
La réponse est oui. Nous Ajoutons une méthode main() à l’applet.
Normalement, une applet est une application Java qui s’exécute dans n’importe quel navigateur Web et qui fonctionne du côté client. Elle ne dispose pas de la méthode main() car elle s’exécute dans le navigateur.
5. Expliquer l’utilisation des packages dans Java ?
C’est un moyen d’organiser des fichiers lorsqu’un projet consiste en plusieurs modules. Il aide également à résoudre les conflits de dénomination lorsque différents packages ont des classes portant le même nom. Le niveau d’accès aux packages vous permet également de protéger les données contre leur utilisation par les classes non autorisées.
QCM Java – Types génériquesQCM 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…Lire plus
6. Quelle est la différence entre J2SDK 1.5 et J2SDK 5.0?
Il n’y a aucune différence, Sun Microsystems vient de renommer cette version.
7. Que feriez-vous pour comparer deux variables String – l’opérateur == ou la méthode equals ()?
Nous utiliserons la méthode equals() pour comparer les valeurs des Strings et le == pour vérifier si deux variables pointent sur la même instance d’un objet String. ==> Voir cet exemple
8. Une classe interne déclarée à l’intérieur d’une méthode peut-elle accéder aux variables locales de cette méthode?
Oui, c’est possible. Voici un exemple:
public class Outside {
// méthode de la classe externe
void myMethod() {
int n = 50;
// classe interne déclarée dans une méthode locale
class Inside {
// méthode de la classe interne
public void afficher() {
// accès à la variable locales de myMethod()
System.out.println("N = "+n); // N = 50
}
}
}
}
9. Qu’est-ce qui peut mal tourner si vous remplacez && avec & dans le code suivant:
String x=null;
if (x!=null && x.length()>9) {...}
La différence est que l’opérateur & est un opérateur binaire, tandis que l’opérateur && est un opérateur logique. Les opérateurs bit à bit travaillent sur les bits et effectuent des opérations « bit par bit », ils sont appliqués aux bits d’un ou deux opérandes.
if (x!=null & x.length() > 9) {...}
& conduirait à une exception NullPointerException.
QCM Java – Programmation Orientée ObjetQCM 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…Lire plus
10. Comment une sous-classe peut appeler une méthode ou un constructeur défini dans une superclasse?
Nous utilisons « super.maMethode(); » pour appeler une méthode défini dans la classe mère. Exemple:
class A {
void show() {
System.out.println("A");
}
}
class B extends A {
void afficherA() {
super.show(); //appel la méthode show du classe A
}
}
Nous utilisons « super(); » pour appeler un constructeur du classe mère, nous écrivons cette instruction dans la première ligne du constructeur du sous-classe. Exemple:
class A {
A() {
System.out.println("Constructeur de A");
}
}
class B extends A {
B() {
super(); // appel au constructeur de la classe A
System.out.println("Constructeur de B");
}
}