J'ai un paquet avec unInterdisez extension directe de la classe Java en dehors de son paquet
public abstract class Player { /*...*/ }
et ces
public abstract class GamePlayer extends Player { /*...*/ }
public abstract class TournamentPlayer extends Player { /*...*/ }
public abstract class StatelessPlayer extends Player { /*...*/ }
Les utilisateurs du paquet besoin de joueurs, mais afin d'utiliser le paquet sans le casser Je demande qu'ils ne directement étendre le joueur. Au lieu de cela, ils devraient étendre l'une des sous-classes fournies. Question: Comment est-ce que je devrais empêcher des utilisateurs d'étendre le joueur directement?
Je suis à la recherche d'un moyen qui rend évident que cette interdiction est destinée.
+1 pour la note sur le constructeur implicite public par défaut – Alnitak