Let\'s say I have the following structure:
abstract class Hand {} class Rock extends Hand {} class Paper extends Hand {} class Scissors extends Hand {}
How about this?
class Scissors extends Hand implements Beats {}
where Beats<> is a generic interface whose signature looks like:
interface Beats {}