Objectif
- Ajouter plusieurs constructeurs à une classe existante
- Tester une classe avec son constructeur
- Constater l’existence de
null
Enoncé du problème
Ajoutez deux constructeurs à la class Person définie auparavant.
- Le premier permettant de définir tous les attributs en une fois.
- Un second constructeur ne prenant que le prénom comme argument. Ce constructeur doit appeler le constructeur avec tous les arguments. Pour les
Stringnon définis, utilisez la constantenull.
Travail à faire
- Complétez la classe
Personselon les instructions ci-dessus. - Testez votre classe
Persondans une autre classe qui contiendra le main. - Utilisez le constructeur à un argument pour instancier Mathusalem, qui n’a pas de nom. Que se passe-t-il lorsque vous essayer d’appeler une méthode sur le nom de votre objet, par exemple
toUpperCase()qui est une méthode définie pour lesString?
public class Personne {
String lastName;
String firstName;
int age;
int height; // in cm
Personne(String firstName){
this("", firstName, -1, -1);
}
Personne(String lName, String fName, int s, int a) {
lastName = lName;
firstName = fName;
height = s;
age = a;
}
}
public class PersonneDone {
public static void main(String args[]){
Personne jd = new Personne("Doe", "John", 175, 19);
Personne m = new Personne("Mathusalem");
System.out.println(m.lastName.toUpperCase()); // Null pointer exception at run-time
}
}
