ok, donc j'ai une classe "Card" avec le constructeur suivant. costume et le rang sont stockés en tant que champs.Pas de constructeur par défaut - héritage
Card(String s, int r){
suit = s;
rank = r;
}
Je veux revenir au rang avec cette méthode
public int getRank(){
return rank;
}
La chose est que je veux appeler cette méthode d'une autre classe nommée Hand
si je fais une référence à la classe de carte Card c = new Card();
je pour entrer les paramètres au constructeur. Je ne veux pas faire ça. J'ai essayé de faire Hand
étendre Card
, mais j'obtiens l'erreur
pas de constructeur par défaut
J'ai cherché une solution, mais je ne peux pas le faire fonctionner.
Ma question est: Comment contourner ce problème?
Edit: classe main
public class Hand extends Card {
Deck d = new Deck();
Hand h = new Hand();
ArrayList<Card> hand = new ArrayList<>();
public void giveMeCard(){
hand.add(d.dealCard());
}
public ArrayList returnHand(){
return hand;
}
public int rank(){
}
}
Veuillez poster votre classe 'Hand'. – hqt
Si vous voulez appeler le constructeur de la carte sans aucun argument, alors la classe Card doit avoir un constructeur qui ne prend aucun argument. Mais à quoi servirait une carte sans costume ou grade? L'héritage est complètement hors de propos. Une main n'est pas une carte, donc la main ne devrait pas étendre la carte. Ça n'a aucun sens. –
Yea s'il vous plaît poster la classe de la main –