我有一个包裹
public abstract class Player { /*...*/ }
还有这些
public abstract class GamePlayer extends Player { /*...*/ }
public abstract class TournamentPlayer extends Player { /*...*/ }
public abstract class StatelessPlayer extends Player { /*...*/ }
该软件包的用户需要 Player,但为了在不破坏它的情况下使用该软件包,我要求他们永远不要直接扩展 Player。相反,他们应该扩展提供的子类之一。
问题:我应该如何防止用户直接扩展 Player?
我正在寻找一种方法来明确表明该禁令是有意的。