站内搜索: 请输入搜索关键词

当前页面: JAVA 编程资料牛鼻论坛Java & J2SE 技术区→求教java中一问题

求教java中一问题

发表新主题   回复此主题

第1楼 2007-05-15 01:11 onesc 写道:

求教java中一问题

我编码如下:
class Card
{
String color;
String value;
}
class Pack
{
Card [] pa=new Card[54];
Pack()
{
for(int i=0;i<13;i++)
{
if((i>=0)&&(i<=8))
{
pa[i].color="Heart";//为何编译到此处系统提示pa空???
...以下代码省略了

第2楼 2013-08-31 12:44 Robot :

求教java中一问题 相关


第3楼 2007-05-15 01:22 tyuyue33 写道:

看来你不没有掌握JAVA的内存管理。首先,在JAVA中,除了普通数据类型外,其它任何类型的变量都是一个对象的引用,而该对象(注意不是变量)在它的构造被调用后得以创建。其次,在JAVA中,任何数组类型的变量都是一个对象的引用(也就是任何数组都是一个对象)。
Card [] pa=new Card[54];这句只说明pa是一个对象的引用,该对象是一个数组,而数组的成员或称元素是一个card对象的引用,而这个card对象并没有创建,而任何没有创建对象的引用被赋值为空,这也是pa[i]为空的原因。
该回答在5月14日 22:36由回答者修改过

第4楼 2007-05-15 01:30 canny 写道:

嗯,楼上说的对!

该回答在5月14日 22:32由回答者修改过

发表新主题   回复此主题