一直觉得new 相当于C语言中的分配空间。 

解决方案 »

  1.   

    Employee[] staff = new Employee[3];是对象数组,新对象肯定要new
    int[] array = new int[3];基本数据类型数组,基本数据类型本来就不用new
    看来楼主还有很长的路要走!!!
      

  2.   

    确实如楼上所说我有很长的路要走,自己也自学了一段时间JAVA,半个月没看书,许多知识又陌生了。而且我看到论坛里没有什么问题是我能够参与回答的,不知大家的那样高深的知识是怎样获得的。
      

  3.   

    如果Employee这一段用C写,那么staff变量应该是 Employee* [],staff[0]其实是一个对象指针。这是Java的规定,一切对象引用都是指针
      

  4.   

    数组是一个引用类型,要new然后又因为数组的元素为对象,即类的实例,类也是引用数据类型,所以要new开辟内存空间
      

  5.   

    你申明数组的时候,类型时Employee的。当你在给数组staff[0]赋值的时候,用的new 相当于你调用的Employee的构造方法,创建了一个Employee的对象放在了数组的第一个位置,所以你用了2次new。我是这样理解的