Test sur le langage Java

Java est un langage…

  1. Interprété
  2. Compilé
  3. Les deux
  4. Ni l'un, ni l'autre

Quelle phrase au sujet de Java est correcte ?

  1. En Java, les types de base ne sont pas des objets
  2. Java supporte l'héritage multiple entre les classes
  3. En Java, on peut affecter soi-même l'adresse d'un pointeur
  4. Java supporte la surcharge des opérateurs

Comment indiquer qu'une classe A hérite d'une classe B ?

  1. class A ::B
  2. class A extends B
  3. class A implements B
  4. class A inherit B

Que signifie le mot clef "static" associé à un attribut ?

  1. Que la valeur de cet attribut est constante
  2. Que cet attribut n'est visible que dans la classe où il est défini
  3. Que cet attribut sera toujours passé par valeur
  4. Que cet attribut a une valeur unique pour toutes les instances de la classe

Au sujet du mot clef "abstract", quelle assertion est fausse ?

  1. Une classe abstraite ne peut être instanciée
  2. Une méthode abstraite n'a pas d'implémentation
  3. Une classe abstraite n'a pas forcément de classe fille
  4. Une classe abstraite doit contenir au moins une méthode abstraite

Child est une classe héritant de la classe Parent. myChild
et myParent sont des instances respectivement de Child et Parent.
Quel code ne compile pas ?

  1. 'Parent p = new Child();'
  2. 'myParent = myChild;'
  3. 'myChild = myParent;'
  4. 'myChild = (MyChild)myParent;'

Que sont les classes du package javax ?

  1. Des ponts Java-ActiveX
  2. Des extensions du langage Java standard
  3. Des classes Java pour X-Windows
  4. Des classes Java multi-plateformes

Qu'est-ce que la Sandbox ?

  1. Un espace d'exécution limitant les droits du code Java
  2. Un outil du JDK permettant de développer des Javabeans
  3. Une librairie Java de composants graphiques
  4. Une méthode de conception Java

Quelle est l'assertion qui n'est pas une amélioration du JDK 1.5 ?

  1. L'autoboxing permet de transformer automatiquement une variable de type primitif en un objet du type wrapper correspondant
  2. Les métadonnées, standardise l'ajout d'annotation dans le code
  3. L'API java.nio met à disposition quatre nouvelles familles de classes employées pour les opérations E/S asynchrones sur des threads
  4. Les generics permettent d'accroître la lisibilité du code et surtout de renforcer la sécurité du code grâce à un renforcement du typage

Une interface en Java peut contenir :

  1. Des déclarations de méthodes et de constantes
  2. Des déclarations de méthodes
  3. Des déclarations de méthodes et de méthodes statiques
  4. Des décalarations de méthodes et de constructeurs

Pour avoir un commentaire sur une ligne,
on place en début de ligne le(s) caractère(s) :

  1. //
  2. #
  3. /*
  4. %

Lequel n'a pas sa place parmi ces choix :

  1. instanceof
  2. select
  3. for
  4. volatile

Que signifie le mot clef "transient" associé à un attribut ?

  1. Rend cet attribut invisible hors du package où il est défini
  2. Cet attibut est à la fois un type de base et un objet
  3. Permet de ne pas le sauvegarder quand on utilise le mécanisme de sérialisation
  4. Rien de tout ça

Lequel de ces identificateurs est incorrect :

  1. MonNom
  2. mon_nom
  3. 2noms
  4. mon$nom

Pour spécifier que la valeur d'une variable
ne peut changer, on la déclare comme une
constante avec le mot réservé :

  1. finalize
  2. const
  3. static
  4. final

Combien d’instances de la classe A crée le code suivant ?
A x,u,v;
x=new A();
A y=x;
A z=new A();

  1. Aucune
  2. Une
  3. Deux
  4. Trois

Quelle assertion est vraie en Java ?

  1. Une classe peut implémenter plusieurs interfaces mais doit étendre une seule classe
  2. Une classe peut implémenter plusieurs classes mais doit étendre une seule interface
  3. Une classe peut implémenter plusieurs classes et peut étendre plusieurs interfaces
  4. Une classe doit implémenter une seule interface et étendre une seule classe

Quelle différence existe t-il entre les interfaces List et Set ?

  1. Une List peut contenir une référence null, pas un Set
  2. Un Set peut contenir deux fois le même élément, pas une List
  3. Une List peut contenir deux fois le même élément, pas un Set
  4. Un Set peut contenir une référence null, pas une List

En Java, un objet qui n’est plus référencé...

  1. Est immédiatement détruit par la JVM (Java Virtual Machine, ou machine virtuelle)
  2. Reste présent en mémoire et est susceptible d’engendrer une « fuite »
  3. Peut être détruit ou non, au bon vouloir de la JVM

Si la classe B hérite de A qui implémente l'interface K, je peux écrire :

  1. 'B i = (K) new A ( );'
  2. 'A i = new K( );'
  3. 'B i = new A ( );'
  4. 'K i = new B ( );'

Laquelle de ces affirmations sur les constructeurs est vraie ?

  1. Les constructeurs ne doivent pas avoir des arguments si la classe mère n'a pas de constructeur avec des arguments
  2. Les constructeurs ne sont pas hérités
  3. Les constructeurs ne peuvent pas être surchargés
  4. La première déclaration de chaque constructeur est un appel égal à super() ou this()

Quel est le droit d'accès le plus restrictif pour donner
l'accès aux membres d'une autre classe de même package ?

  1. public
  2. default access
  3. abstract
  4. protected

La déclaration suivante : public class MaClass<T> {… } permet de définir...

  1. Rien du tout en java
  2. Un type générique
  3. Une classe abstraite dont la classe T hérite forcément
  4. Un type comparable avec le type T

Dans quelle situation utilise t-on la séquence : try-catch-finally ?

  1. Pour traiter les exceptions
  2. Pour sortir du programme
  3. Pour déboguer le code

Peut-on utiliser plusieurs blocs catch après un bloc try ?