public class Card {
public enum Rank { DEUCE, THREE, FOUR, FIVE, SIX,
SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE }
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }
private final Rank rank;
private final Suit suit;
private Card(Rank rank, Suit suit) {
this.rank = rank;
this.suit = suit;
}
public Rank rank() { return rank; }
public Suit suit() { return suit; }
public String toString() { return rank + " of " + suit; }
private static final List<Card> protoDeck = new ArrayList<Card>();
// Initialize prototype deck
**static** {
for (Suit suit : Suit.values())
for (Rank rank : Rank.values())
protoDeck.add(new Card(rank, suit));
}
public static ArrayList<Card> newDeck() {
return new ArrayList<Card>(protoDeck); // Return copy of prototype deck
}
}
Tengo una pregunta rápida. El bloque de código que comienza justo después de la declaración de palabra clave estática, ¿qué tipo de método es ese? Nunca había visto eso antes. Si alguien pudiera iluminarme, eso sería muy apreciado. Gracias.Declaración de método "estático" inusual
+1: conciso, con referencia para lecturas adicionales, y una explicación clara. Esto es de lo que se trata SO ... –
¡Gracias por la respuesta rápida y perfecta! – Jack