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
String
non définis, utilisez la constantenull
.
Travail à faire
- Complétez la classe
Person
selon les instructions ci-dessus. - Testez votre classe
Person
dans 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 } }