首先在程序中声明了10个对象数组如下:
protected Model[] models = new Model[10];//Model是自定义类
接着,我访问这个数组中任意一个元素,如:
models[0].ModelName//ModelName是Model类中的一个属性。
问题出现了,编译时顺利通过,但程序调试到这行语句时就出错。
注:models[0]为空对象,我没有赋具体的实例。
这是什么原因啊?
----------------------------------------------------------------------------------------------
protected Model[] models = new Model[10];
需要在构造函数或某方法中加..
for(int i = 0 ;i < models.Length;i++)
{
models[i] = new Model();
//为models[i]的各属性赋值
}
----------------------------------------------------------------------------------------------
protected Model[] models = new Model[10];
//上面这句话,只是定义了一个大小为10的数组对象,但是对象里面未曾存放过任何东西。
相当于是仅仅标识了十个对象的类型为Model而已。真正要用的话,需要先给这个数组一个个的赋值。
----------------------------------------------------------------------------------------------
数组中的对象还得再赋值的,得重新new的。
====
阅读(1087) | 评论(0) | 转发(0) |