编辑:
主要方法......
创建一个新玩家。
玩家类......
创建一个hand实例。
手工课......
创建一个arraylist
这就是全部。它非常简单public class Player
{
/*------------------------
* instantiating variable
-----------------------*/
protected Hand hand;
protected boolean active = false;
/*------------
* constructor
-----------*/
public Player()
{
hand = new Hand();
hand.setSize(5);
}
public class Hand extends Player
{
/*-----------------------------------------
* variable declaration
----------------------------------------*/
ArrayList <Card> hand;
protected int size;
Card temp;
/*------------------------------------------
* constructor
* creates arraylist of cards to keep in hand
------------------------------------------*/
public Hand()
{
hand = new ArrayList<Card>();
}
/*-------------------------------
* sets the size of the max hand
------------------------------*/
public void setSize(int newSize)
{
size = newSize;
}
编辑:错误是:
线程“main”中的异常java.lang.StackOverflowError
at Player.<init>(Player.java:19)
at Hand.<init>(Hand.java:21)
玩家中的第19行是“公共玩家()”
Hand的第21行是“public Hand()”
仅供参考
答案 0 :(得分:6)
Hand
扩展Player
,因此包含所有Player
个数据成员,包括
protected Hand hand;
要初始化这些继承的成员,Hand
的构造函数会隐式调用Player
。
Hand
的构造函数。Player
的构造函数。Player
的构造函数执行new Hand()
,循环无限期地重复,直到你的堆栈空间不足为止。