3.4 toString : pour déboguer

Toutes les classes héritent d’une méthode toString() prédéfinie : elle renvoie l’adresse en mémoire de l’objet.

Il est souvent intéressant de pouvoir afficher dans la console une description des attributs principaux d’un objet, notamment pour déboguer.

Pour cela, on redéfinit une méthode toString() spécifique à la classe qui va se substituer à celle par défaut (notion détaillée avec l’héritage (5)).
La méthode est standardisée : elle est publique, elle retourne une String, elle se nomme évidemment toString() et ne contient que le retour souhaité dans son body.
On précise que la méthode se substitue à une autre avec @Override.

  @Override
    public String toString() {
        return "Classe [attribut1=" + attribut1 
                + ", attribut2=" + attribut2 
                + ", attribut3=" + attribut3 + "]";
    }

Cette méthode est très particulière, elle est appelée par défaut lorsque l’on appelle une instance : System.out.println(monInstance); donnera exactement la même sortie que System.out.println(monInstance.toString);

Il est conseillé de laisser un commentaire (// TODO supprimer avant mise en production) pour penser à supprimer ces méthodes lors de la mise en production : la console doit être laissée libre pour les équipes de déploiement.