用数组实例化类的问题

//A类定义了3个成员变量classA{  intnum1;  intnum2;  intnum3;//Ini... //A类定义了3个成员变量
class A
{
  int num1;
  int num2;
  int num3;
//Initial方法给成员变量赋值
  public void Initial()
  {
    A[] arr=new A[2]//定义一个A类的数组

    arr[0]=new A();//创建对象
    arr[0].num1=1;
    arr[0].num2=2;
    arr[0].num3=3;

    arr[1]=new A();
    arr[1].num1=4;
    arr[1].num2=5;
    arr[1].num3=6;
  }
//显示所有num1
  public void ShowAllA()
  {
    foreach(A a in arr)
    {
      Console.Write(a.num1+" ");
    }
  }
}
为何编译不通过?
声明数组的位置是我自己写错了

错误提示:未经处理的异常:未将对象引用设置到对象的实例
错误行号是:ShowAllA()方法的 Console.Write(a.num1 + " "); 位置
展开
 我来答
亚嫲
2011-04-29
知道答主
回答量:17
采纳率:0%
帮助的人:0
展开全部
arr 要定义为公共的,如下:

//A类定义了3个成员变量
public class A
{
int num1;
int num2;
int num3;
//Initial方法给成员变量赋值
A[] arr = new A[2]; //////////////////////////////////////注意这里,这个变量要定义公共的
public void Initial()
{

arr[0]=new A();//创建对象
arr[0].num1=1;
arr[0].num2=2;
arr[0].num3=3;

arr[1]=new A();
arr[1].num1=4;
arr[1].num2=5;
arr[1].num3=6;
}
//显示所有num1
public void ShowAllA()
{
foreach (A a in arr)
{
Console.Write(a.num1 + " ");
}
}
}
追问
声明数组的位置是我自己写错了 
把类public仍显示错误
错误提示:未经处理的异常:未将对象引用设置到对象的实例
错误行号是:ShowAllA()方法的 Console.Write(a.num1 + " "); 位置

arr用static就没问题了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式