Bonsoir à toutes et à tous,
Je me suis trouvé face à deux questions (QCM) en JAVA que j'aimerais bien avoir quelques explications:
1-
Le résultat de l'exécution est "Trois jetons", ce qui est bizarre pour moi ici c'est que: comment on peut faire new pour une interface (MaClasse) ?!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 interface MaClasse { String toString(); } public class TestMaClasse { public static void main(String[] args){ System.out.println(new MaClasse { public String toString() { return "Trois jetons"; } }); } }
2-
Comment le compilateur peut atteindre la dernière ligne et afficher "Fin du programme" alors que dans la méthode run(), on a une instructionde throw... ce qui signifie , NORMALEMENT, qu'au niveau de ( th.start() ) on aura une exception et le programme va s'arrêter, nn?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class MonThread implements Runnable { public void run(){ System.out.println("Je suis dans run"); throw new RuntimeException("Piege"); } public static void main(String[] args){ Thread th = new Thread(new MonThread()); th.start(); System.out.println("Fin du programme"); } }
Merci pour vous.
Partager