okですので、次のコンストラクタを持つクラス "Card"があります。スーツとランクはフィールドとして格納されます。デフォルトのコンストラクタはありません - 継承
Card(String s, int r){
suit = s;
rank = r;
}
私は事は私は私が持っているカードのクラスCard c = new Card();
への参照を行う場合Hand
という名前の別のクラスからこのメソッドを呼び出す必要である。この方法
public int getRank(){
return rank;
}
でランクを返すようにしたいですコンストラクタにパラメータを入力します。私はこれをしたくありません。 私はHand
がCard
を拡張させることを試みたが、その後、私はエラー
なしデフォルトコンストラクタ
を取得し、私は解決策を探してきましたが、私はちょうどそれが仕事を得ることができません。
私の質問です:この問題を回避するにはどうすればよいですか?
編集:ハンドクラス
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(){
}
}
あなた 'Hand'クラスを投稿してください。 – hqt
引数なしでCardコンストラクタを呼び出す場合、Cardクラスには引数を取らないコンストラクタが必要です。しかし、スーツやランクのないカードはどのように役立つでしょうか?継承は完全に無関係です。手はカードではないので、手はカードを伸ばしてはならない。それは意味をなさない。 –
いや、あなたは 'カードC =新しいカード()'と呼ばれてきたとき、C 'は、保持するために、 'たいどのようなカード手のクラス –