Parmi les méthodes de la classe suivante, lesquelles peuvent être statiques et lesquelles ne peuvent en aucun cas être statiques ? class Exo13_3{ int x, y; String nom; void afficher(){ Terminal.ecrireString(nom + " " + x + " " + y); } void ajouter(Exo13_3 obj){ x = x + obj.x; y = y + obj.y; nom = nom + obj.nom; } Exo13_3 nouveau(int n){ Exo13_3 res = new Exo13_3(); res.x = n; res.y = n*2; res.nom = "Auto_"+n; return res; } boolean plusGrand(Exo13_3 obj){ if (obj.x == x){ return y>obj.y; }else{ return x>obj.x; } } boolean compare(Exo13_3 obj1, Exo13_3 obj2){ if (obj1.x == obj2.x){ return obj1.y>obj2.y; }else{ return obj1.x>obj2.x; } Les méthodes afficher, ajouter et nouveau ne peuvent en aucun cas être déclarées comme statiques car elles utilisent des variables d'instance x, y, et nom qui sont associées à chaque objet de la classe. La méthode plusGrand peut être déclarée comme statique car elle ne fait pas référence à des variables d'instance. Cependant, elle peut être implémentée de manière plus efficace en utilisant une méthode non statique pour comparer les objets en utilisant la référence à l'objet actuel. La méthode compare peut également être déclarée comme statique car elle ne fait pas référence à des variables d'instance.