package solitaire; final class Card { private final Suit suit; private final Rank rank; private boolean hidden; Card(Suit suit, Rank rank, boolean hidden) { this.suit = suit; this.rank = rank; this.hidden = hidden; } Card(Suit suit, Rank rank) { this(suit, rank, true); } Suit getSuit() { return this.suit; } Rank getRank() { return this.rank; } boolean isHidden() { return this.hidden; } void reveal() { this.hidden = false; } @Override public String toString() { if (this.hidden) return " * "; return String.format("%s%2s", this.suit, this.rank); } }