Mission

toString

Questions de compréhension

  • Avant que vous ne redéfinissiez la méthode toString, le programme affichait le nom de la classe et le hashcode de l'objet. Comment est-ce possible puisque toString n'était pas définie dans la classe Robot ?
  • Vous avez redéfini toString dans toutes les sous-classes de Robot. Que se passerait-t-il si on ne redéfinissait toString que dans certaines sous-classes (par exemple que dans Cyborg) ?
  • Quelle est le contenu de la chaîne de caractères "Bla " + (20+30) + 10 ?

Attributs statiques

Questions de compréhension

  • Que se passerait-t-il précisément si on oubliait d'utiliser static dans les questions ci-dessus ?
  • Que se passerait-t-il précisément si tous les attributs étaient static ?
  • Une constante est toujours static. Est-ce indispensable ?
  • Le mot-clef final est-il indispensable pour définir une constante ?
  • Question qui tue : est-il possible de définir une méthode dans la classe Robot qui renvoie le nombre de robots déjà créés, de l'invoquer, et d'obtenir zéro comme résultat ?
    Il se trouve que c'est effectivement possible. Faites-le.