私はとのパッケージを持っています
public abstract class Player { /*...*/ }
そしてこれら
public abstract class GamePlayer extends Player { /*...*/ }
public abstract class TournamentPlayer extends Player { /*...*/ }
public abstract class StatelessPlayer extends Player { /*...*/ }
パッケージのユーザーには Player が必要ですが、パッケージを壊さずに使用するには、 Player を直接拡張しないようにする必要があります。代わりに、提供されているサブクラスの 1 つを拡張する必要があります。
質問: ユーザーが Player を直接拡張できないようにするにはどうすればよいですか?
この禁止が意図されていることを明らかにする方法を探しています。