0% ont trouvé ce document utile (0 vote)
12 vues3 pages

Questions et réponses sur Java et JPA

Le document présente un corrigé d'un partiel sur Java, couvrant des concepts clés tels que la compilation, les exceptions, l'encapsulation, et les interfaces. Il inclut des questions sur la syntaxe Java et des explications sur des concepts comme le polymorphisme et les types génériques. La seconde partie du document fournit une implémentation d'une entité Personne utilisant @EmbeddedId en Java avec JPA.

Transféré par

hindemelais
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
12 vues3 pages

Questions et réponses sur Java et JPA

Le document présente un corrigé d'un partiel sur Java, couvrant des concepts clés tels que la compilation, les exceptions, l'encapsulation, et les interfaces. Il inclut des questions sur la syntaxe Java et des explications sur des concepts comme le polymorphisme et les types génériques. La seconde partie du document fournit une implémentation d'une entité Personne utilisant @EmbeddedId en Java avec JPA.

Transféré par

hindemelais
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Correction Java-Partiel

Partie I:
1. Java est un langage
Réponse correcte : (c) Compilé et interprétéExplication : Java est un langage compilé en
bytecode (fichier .class), qui est ensuite interprété par la machine virtuelle Java (JVM).

2. Java est un langage développé par


Réponse correcte : (b) Sun MicrosystemsExplication : Java a été développé à l'origine par
Sun Microsystems en 1991, et plus tard acquis par Oracle en 2010.

3. Java permet-il l’utilisation des pointeurs ?


Réponse correcte : (b) NonExplication : Java n'utilise pas de pointeurs comme en C/C++, ce
qui permet de mieux gérer la sécurité de la mémoire.

4. Qu’est-ce que le Null en Java ?


Réponse correcte : (b) Null définit une référence nulle, il ne désigne aucun objet en
mé[Link] : En Java, null représente l'absence d'objet ou une référence nulle.
5. L’exception NullPointerException est levée à quelle condition ?
Réponse correcte : (a) Quand une application tente d’utiliser un objet Null alors qu’un objet
instancié est né[Link] : Cette exception est levée lorsqu'une tentative d'accès à
une méthode ou à un membre d'un objet null est effectuée.

6. Quelle méthode ci-dessous peut être appelée directement depuis une


sous-classe, sans créer une instance de la superclasse ?
Réponse correcte : (c) Une méthode staticExplication : Les méthodes static sont partagées
entre toutes les instances et peuvent être appelées sans instancier la classe.

7. Que retourne l’appel suivant, si Animal est une classe parente de Chien
et Chien surcharge la méthode parler() ?

Animal a = new Chien();


[Link]();

Réponse correcte : (b) La méthode parler() de Chien est appelé[Link] : Cela montre le
polymorphisme dynamique où la méthode surchargée dans la classe enfant (Chien) est
appelée, même si l'objet est référencé par un type parent (Animal).

8. Quelle affirmation est vraie concernant les interfaces en Java ?


Réponse correcte : (c) Une classe peut hériter de plusieurs interfaces en même temps.
Explication : Java permet à une classe d'implémenter plusieurs interfaces.
9. Quelle est une différence clé entre la surcharge (overloading) et le
remplacement (overriding) en Java ?
Réponse correcte : (b) Le remplacement nécessite des signatures de méthode identiques,
contrairement à la [Link] : La surcharge se produit lorsqu'il existe plusieurs
méthodes avec le même nom mais des signatures différentes, tandis que le remplacement
concerne des méthodes ayant la même signature dans la classe parent et la sous-classe.

10. Pourquoi l’encapsulation est-elle importante en Java ?


Réponse correcte : (c) Elle contrôle l'accès aux données via des modificateurs d'accès.
Explication : L'encapsulation permet de protéger les données et de les rendre accessibles
uniquement via des méthodes contrôlées.
11. Que signifie marquer une méthode comme final en Java ?
Réponse correcte : (c) La méthode ne peut pas être surchargée par une sous-classe.
Explication : Une méthode final ne peut pas être redéfinie dans les classes filles.
12. Que se passe-t-il si une classe Java n’a pas de constructeur défini
explicitement ?
Réponse correcte : (b) Un constructeur par défaut est généré [Link] :
Si aucune méthode constructeur n'est définie, Java génère un constructeur par défaut sans
arguments.
13. Une interface fonctionnelle en Java :
Réponse correcte : (c) Ne peut pas être utilisée avec des expressions [Link] :
C'est incorrect ; en fait, une interface fonctionnelle est celle qui a une seule méthode
abstraite et peut être utilisée avec des expressions lambda.
14. Quelle des affirmations suivantes est correcte concernant le Garbage
Collector en Java ?
Réponse correcte : (a) Le Garbage Collector libère les objets qui ne sont plus accessibles.
Explication : Le Garbage Collector identifie et libère la mémoire occupée par les objets qui
ne sont plus référencés.
15. Quelle est la différence entre une classe interne statique et une classe
interne non statique ?
Réponse correcte : (c) Une classe interne statique ne peut accéder qu’aux membres static de
la classe [Link] : Les classes internes statiques ne nécessitent pas d'instance de
la classe externe et ne peuvent accéder qu'aux membres static de la classe externe.

16. Quel modificateur d'accès permet de rendre un membre visible


uniquement au sein du même package ?
Réponse correcte : (c) default (aucun modificateur explicite)Explication : Lorsque aucun
modificateur d'accès n'est précisé, l'accès est limité au package.
17. Quelle déclaration de type énuméré est valide en Java ?
Réponse correcte : (b) enum Jour {LUNDI, MARDI;}Explication : Une énumération en Java se
définit avec le mot-clé enum et des valeurs séparées par des virgules.

18. Laquelle des affirmations suivantes est correcte concernant les


exceptions vérifiées (checked exceptions) ?
Réponse correcte : (a) Elles doivent être déclarées dans une clause [Link] : Les
exceptions vérifiées doivent être déclarées ou capturées dans un bloc try-catch.

19. Quelle est l’utilité des types génériques (Generics) en Java ?


Réponse correcte : (c) Ils éliminent le besoin de conversion explicite des [Link] :
Les types génériques permettent de définir des classes, interfaces et méthodes avec des
types paramétrés, offrant ainsi une meilleure sécurité de type et évitant les conversions
explicites.
20. Quel est le nombre exact de types de pilotes JDBC en Java ?
Réponse correcte : (b) QuatreExplication : Il existe quatre types de pilotes JDBC (Type 1 à
Type 4).
21. Une classe déclarée finale ne doit avoir aucune méthode abstraite.
Réponse correcte : (b) FauxExplication : Une classe finale ne peut pas être héritée, mais elle
peut avoir des méthodes abstraites si elle est abstraite.

22. Une classe abstraite ne peut pas avoir la moindre méthode finale.
Réponse correcte : (b) FauxExplication : Une classe abstraite peut contenir des méthodes
final, qui ne peuvent pas être redéfinies dans les classes dérivées.

23. Lequel n’a pas sa place parmi ces choix ?


Réponse correcte : (b) DeleteExplication : Delete n'est pas un mot-clé Java valide dans ce
contexte.
24. Quelle instruction Java est utilisée pour arrêter complètement
l’exécution d’une boucle ?
Réponse correcte : (d) BreakExplication : break est utilisé pour sortir immédiatement d'une
boucle.
25. Lequel est un exemple de polymorphisme ?
Réponse correcte : (c) La redéfinition de méthodeExplication : La redéfinition de méthode
(overriding) est un exemple de polymorphisme en Java.
26. Peut-on instancier une classe dont le constructeur est déclaré private ?
Réponse correcte : (b) NonExplication : Un constructeur privé empêche l'instanciation
directe de la classe en dehors de la classe elle-même.

27. Quel est le nom du Framework qui gère le JPA en utilisant l'IDE Apache
NetBeans ?
Réponse correcte : (a) HibernateExplication : Hibernate est un framework populaire pour la
gestion des entités JPA en Java.
28. En JPQL, quelle est la méthode utilisée pour persister un objet dans la
base de données ?
Réponse correcte : (c) persist()Explication : persist() est utilisé pour rendre un objet
persistant dans la base de données.

29. Quelle application intégrée à Apache NetBeans permet de gérer les


composants JavaFX ?
Réponse correcte : (c) SceneBuilderExplication : SceneBuilder est utilisé pour concevoir des
interfaces utilisateur JavaFX de manière visuelle.

30. Peut-on déclarer un constructeur de portée private en Java ?


Réponse correcte : (a) OuiExplication : Il est possible de déclarer un constructeur privé,
souvent utilisé dans des modèles de conception comme le Singleton.

Partie 2 - Implémentation de l'entité Personne avec @EmbeddedId :

import [Link];
import [Link];

@Entity
public class Personne {

@EmbeddedId
private PersonneId id;

// getters and setters


}

import [Link];
import [Link];

@Embeddable
public class PersonneId implements Serializable {

private String nomPersonne;


private String prenomPersonne;

// getters and setters

Vous aimerez peut-être aussi