Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
JAVA与C++ 对对象数组的不同处理

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

问题:
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])




相关文章

相关软件