用数组实例化类的问题
//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 + " "); 位置 展开
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 + " "); 位置 展开
展开全部
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 + " ");
}
}
}
//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就没问题了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询