简短的答案:并不是真的可以接受,所以是的-
这是设计缺陷的迹象。
instanceof几乎总是有一种气味,除非在极少数情况下,图书馆试图提供某种形式的帮助,这些帮助是元的或其他丑陋的,但有助于克服语言/环境的缺点。
建议使用访客模式。如果您确实在系统中有两种不同的类型,则可能是这样。
您也不必“显式”使用访问者模式,而是将其合并到程序流中。因此,请考虑一个接口卡:
interface Card { void pick(Player player);}class DrawCard implements Card { void pick(Player player) { player.draw(value); // assume value passed in e.g. ctor }}


