在类中定义另外一个类的对象数组会出错,求解
大家好,最近在学java,觉得java有点难度。就是我在一个类中定义另外一个类的对象数组的时候,发现会出现
java.lang.NullPointerException 。
另外附上我的代码
class Myprocess
{
int arrivetime;
int servetime;
}
class Myqueue
{
Myprocess []mp=new Myprocess[3];
Myqueue()
{
mp[0].arrivetime=1;
}
}会报错,请问这是怎么回事?
------最佳解决方案-------------------- mp[0]=new Myprocess();
mp[0].arrivetime=1;
建议你先学好c语言在学java,不然会感觉很困难的
------其他解决方案-------------------- Myprocess []mp=new Myprocess[3];只是创建了一个3个元素的数组,里面还没放东西呢
mp[0].arrivetime=1;此时mp[0]还为null
------其他解决方案-------------------- Myprocess 是实体类,实体类需要实例化,也就是说在内存中开辟一片空间来存放它的实例,而你仅仅是创建了一个数组,并没有实例化,所以会出现NULLPOINT,明白?
------其他解决方案-------------------- 引用: Myprocess []mp=new Myprocess[3];只是创建了一个3个元素的数组,里面还没放东西呢
mp[0].arrivetime=1;此时mp[0]还为null
能再详细点么?
怎么改??
------其他解决方案-------------------- 引用: mp[0]=new Myprocess();
mp[0].arrivetime=1;
建议你先学好c语言在学java,不然会感觉很困难的
我用new 不是已经实例化了么?
现在我要用三个这样的Myprocess对象,应该如何写?
------其他解决方案-------------------- 数组的new 相当于数组类型在内存中分配空间,数组的元素是空的。