求为什么执行不下去

InvisibleMike 2013-02-22 10:30:06
public class MemonicaList {
Element element[] = new Element[53] ;


public void initMemonicaList(){
String cardList[] = {" ","C4","H2","D7","C3","H4","D6","SA","H5","S9","S2",
"HQ","D3","CQ","H8","S6","S5","H9","CK","D2","HJ",
"S3","S8","H6","C10","D5","DK","C2","H3","D8","C5",
"SK","DJ","C8","S10","HK","CJ","S7","H10","DA","S4",
"H7","D4","CA","C9","SJ","DQ","C7","SQ","D10","C6",
"HA","D9"};
for( int i = 0 ; i <= 52 ; i++ )
{
element[i].initElement( i , cardList[i] );//这里无法执行
}

}
}

public class Element {
int number;
String card;
boolean tag ;
Element()
{
this.number = 0;
this.card = " ";
this.tag = false;
}
public void initElement(int initnumber, String initCard)
{
number = initnumber;
card = initCard;
tag = false;
}
public void answerCorrect(){
this.tag = true;
}

}
...全文
210 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
浪漫小和 2013-02-25
  • 打赏
  • 举报
回复
接分,,呵呵,!!!!!!
飘飘哥 2013-02-25
  • 打赏
  • 举报
回复
引用 2 楼 InvisibleMike 的回复:
谢谢, 多问一下,new Element[53] 为什么没有调用构造方法 Element()很明显这个方法没有参数 如何在定义Element数组时就将他初始化呀
这个就是方法的重载 如果你想new Element(53) 的时候 调用Element() 方法 就要 设置这个方法的参数 ,一般的我们在new Object() 的时候 如果你没指定参数 那么一般都是调的那个带空的参数的方法
  • 打赏
  • 举报
回复
Element element[] = new Element[53] ; 这句话执行后生成了53个东西 不是53个new Element()而是53个Element element 是53个栈内存中的引用 不是堆内存中的53个对象 如果真会调构造方法的话 如果你定义有参构造却没显示定义无参构造 那Element element[] = new Element[53] 怎么传参数给构造?
InvisibleMike 2013-02-22
  • 打赏
  • 举报
回复
非常感谢对菜鸟无私的帮助
爱T 2013-02-22
  • 打赏
  • 举报
回复
引用 2 楼 InvisibleMike 的回复:
谢谢, 多问一下,new Element[53] 为什么没有调用构造方法 Element() 如何在定义Element数组时就将他初始化呀
定义一个数组参数的构造函数
InvisibleMike 2013-02-22
  • 打赏
  • 举报
回复
谢谢, 多问一下,new Element[53] 为什么没有调用构造方法 Element() 如何在定义Element数组时就将他初始化呀
yongger520 2013-02-22
  • 打赏
  • 举报
回复
在它前面加一句 element[i] = new Element(); 你的element没初始化

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧