Лучше всего было бы создать базовый класс Abstract, который имеет абстрактный метод, от которого наследуется и реализуется каждая масть.
abstract class AbstractSuit {
public abstract int modify();
}
Тогда каждая масть будет расширяться AbstractSuit
class Hearts extends AbstractSuit {
@Override
public int modify() {
return 1 + 1;
}
}
class Spades extends AbstractSuit {
@Override
public int modify() {
return 2 + 2;
}
}
Затем вы можете сохранить каждый ваш объект как AbstractSuits
в любой коллекции, которую вы хотите, и можете вызвать modify()
List<AbstractSuit> suitList = new ArrayList<>();
suitList.add(new Hearts());
suitList.add(new Spades());
for(AbstractSuit suit : suitList) {
System.out.println(suit.modify());
}
Вывод будет
2
4