VLink[] vLink= new VLink[5];
vLink[0].setStart(0);
vLink[0].setEnd(2);
vLink[0].setdBandwidth(5);
Vlink类型是自己定义的,有start,end, dBandwidth三个属性。
建立一个Vlink长度为5的数组,初始化vLink[0]程序报错;
正确的初始化方法:
VLink[] vLink= new VLink[5];
for (int i = 0; i < vLink.length; i++) {
vLink[i]=new VLink();
}
vLink[0].setStart(0);
vLink[0].setEnd(2);
vLink[0].setdBandwidth(5);
vLink[1].setStart(0);
vLink[1].setEnd(1);
vLink[1].setdBandwidth(3);
vLink[2].setStart(1);
vLink[2].setEnd(2);
vLink[2].setdBandwidth(3);
vLink[3].setStart(2);
vLink[3].setEnd(0);
vLink[3].setdBandwidth(5);
vLink[4].setStart(2);
vLink[4].setEnd(1);
vLink[4].setdBandwidth(10);
在加入for循环对每个vLink[i]指定对象后运行正确。
在声明了自定义类的数组之后,对每一个数组元素的初始化,都要为其new一个对象出来使得指针指向该对象,Java语言本身是不提供在自定义类数组声明时候自动创建新对象的方式的。