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.

  1. Le premier permettant de définir tous les attributs en une fois.
  2. 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 constante null.

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 les String ?
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
	}
}