当前位置:开发者网络 >> 技术教程 >> JSP教程 >> 数据库相关 >> 内容
精彩推荐
分类最新教程
分类热点教程
  
JAVA与C++ 对对象数组的不同处理
作者:未知
日期:2004-12-28
人气:
投稿:snow(转贴)
来源:未知
字体:
收藏:加入浏览器收藏
以下正文:
问题:
public class test
{
public static void main(String[] args)
{
Person[] a = new Person[2];

for(int i = 0; i < 2; i++)
{
a[i].age = i; //空指针异常
System.out.println(a[i].age);
}
}
}

class Person
{
public int age;

public Person(int age)
{
this.age = age;
}

}

思考:
数组类是一个由虚拟机支持的特殊类,它是由操作码newarray创建的,是Array类的实例。Person[] a = new Person[2]只是建立了一个Array对象对对象元素Person[0] Person[1]并未分配空间(这一点与C++不同C++在创建一个对象数组是同时也已为数组中的对象分配了空间 Person* a = new Person[2])



相关文章: