Java Quiz #12

Que fait le code suivant ?

  1. interface ITest { float v = 2.0f; }
  2.  
  3. class SuperTest { int v = 3; }
  4.  
  5. class Test extends SuperTest implements ITest {
  6. public static void main(String... args) {
  7. Test .printV();
  8. new Test().printV_2();
  9. }
  10.  
  11. static void printV() { System.out.println(v); }
  12. void printV_2() { System.out.println(v); }
  13. }
Lire la suite...

Java Quiz #11

Les casts ont-ils un coût en Java ?

Lire la suite...

Java Quiz #10

En C++, pour dupliquer un objet, on utilise habituellement le constructeur par recopie. C'est un constructeur qui n'attend qu'un argument, de même type que le type de celui que l'on construit (voir par exemple le constructeur String(String)).

En Java, Sun recommande d'implémenter l'interface Cloneable et d'utiliser la méthode clone(), plutôt qu'un constructeur par recopie, pour dupliquer un objet.

Pourquoi ?

Lire la suite...

Java Quiz #9

Mais que fait donc ce code ?

  1. public abstract class Parent
  2. {
  3. public Parent()
  4. { setMessage("World");
  5. }
  6.  
  7. protected abstract String getMessage();
  8. protected abstract void setMessage(String message);
  9.  
  10. public static void main(String... args)
  11. {
  12. Fille fille = new Fille();
  13. System.out.println("Hello " + fille.getMessage());
  14. }
  15. }
  16.  
  17. class Fille extends Parent
  18. {
  19. private String message = null;
  20.  
  21. @Override
  22. public String getMessage()
  23. { return message;
  24. }
  25.  
  26. @Override
  27. protected void setMessage(String message)
  28. { this.message = message;
  29. }
  30. }
Lire la suite...

Java Quiz #8

Que fait le code suivant ?

  1. public class Loops
  2. {
  3. public static int increment(int i)
  4. {
  5. loop: while (true)
  6. {
  7. try
  8. { return (++i);
  9. }
  10. finally
  11. { break loop;
  12. }
  13. }
  14. }
  15.  
  16. public static void main(String... args)
  17. {
  18. System.out.println(Loops.increment(2));
  19. }
  20. }
Lire la suite...

Java Quiz #7

Que fait le code suivant ?

  1. public class Parser
  2. {
  3. public static int parse(String valeur)
  4. {
  5. try
  6. {
  7. return Integer.parseInt(valeur);
  8. }
  9. catch (NumberFormatException nfEx)
  10. {
  11. return 2;
  12. }
  13. finally
  14. {
  15. return 3;
  16. }
  17. }
  18.  
  19. public static void main(String... args)
  20. {
  21. System.out.println(parse("1"));
  22. System.out.println(parse("1.0"));
  23. }
  24. }
Lire la suite...

Java Quiz #6

Pouvez-vous déterminer ce que fait le code suivant ?

  1. public class RetourChariot
  2. {
  3. public static void main(String... args)
  4. {
  5. // Note : \u000A représente le retour chariot en Unicode
  6. char c = '\u000A';
  7. System.out.println(c);
  8. }
  9. }
Lire la suite...

Java Quiz #5

Un petit quiz simple pour Pâques !
Que se passe-t-il lorsque le code suivant est excuté ?

  1. StringBuffer java = new StringBuffer('J').append('a').append('v').append('a');
  2. System.out.println(java);
Lire la suite...

Java Quiz #4

Soit une classe Personne suivante :

  1. class Personne
  2. {
  3. private String nom;
  4. private Personne ami;
  5.  
  6. /* ... Constructeur paramétré ... */
  7. /* ... Méthode toString() redéfinie pour renvoyer la propriété "nom" ... */
  8. /* ... Accesseurs ... */
  9. }

Quel est le résultat de l'exécution du code suivant (on lance la classe "Main") ?

  1. class Groupe
  2. {
  3. public static final Personne PAUL = new Personne("Paul", Groupe.JACK);
  4. public static final Personne JACK = new Personne("Jack", Groupe.PAUL);
  5. }
  6.  
  7. public class Main
  8. {
  9. public static void main(String... args)
  10. {
  11. System.out.println(Groupe.PAUL.getAmi());
  12. System.out.println(Groupe.JACK.getAmi());
  13. }
  14. }
Lire la suite...

Java Quiz #3

Déterminez le résultat de :

  1. short s = 127;
  2. s = s+1;
  3. System.out.println(s);
Lire la suite...

- page 5 de 6 -