Les mots clés reviennent souvent à l'examen. Celui-ci va essayer de vous induire en erreur avec par exemple des mots clés provenant du C++. Il y a aussi d'autres pièges plus vicieux.
Ces exercices vont vous familiariser avec les pièges les plus fréquents :
Exercise 1 :
Given the following :
public class Test {
public static void main(String [] args) {
System.out.println("Zest!");
}
public void assert {
System.out.println("Helllo");
}
}
What is the result ? (choose one)
A Zest!
B Helllo
C Compilation fails
D An exception is thrown at runtime
Exercice 2 :
Given the following :
public class Test {
public static void main(String [] args) {
System.out.println("Zest!");
int true = 1;
System.out.println("true : " + true);
}
}
What is the result ? (choose one)
A Zest!
B Zest true: 1
C Compilation fails
D An exception is thrown at runtime
Exercice 3 :
public class Test {
public static void main(String [] args) {
System.out.println("Zest!");
transient int value = 10;
System.out.println("true : " + true);
}
}
What is the result ? (choose one)
A Zest!
B Zest true: 1
C Compilation fails
D An exception is thrown at runtime
Solution :
Exercice 1 :
La compilation va échouer car assert est un mot clé réservé. Attention, les questions de ce genre reviennent souvent !
The compilation will fail because a method can't have the name of a keyword.
Be carreful at this sort of question. It's often in test and very easy to miss it
Exercice 2 :
La compilation va échouer car on ne peut pas nommer une variable avec le nom d'un mot clé.
Exercice 3 :
La compilation va échouer. Le mot clé transient est lié à la sérialisation des classe java.
Il s'utilise comme ceci :
// la classe que nous allons sérialiser
class Writeable implements java.io.Serializable {
// entier transient
public transient int var1 = 4;
// entier normal
public int var2 = 19;
}
Aucun commentaire:
Enregistrer un commentaire