以下创建对象应该怎么理解:
1.Data data = new Data();    创建了一个对象空间还是一个对象?????跟String a = "你好"  同一个意思???2.Data1[] data1 = new Data1[5];   创建的是空间???
 data1[0] dat2 = new Data1[1];   创建一个对象????跪求.一般类创建对象..与创建对象数组对象有什么区别...概念如何理解....
在线等....

解决方案 »

  1.   

    对象数组只是声明了一个对象数组,具体用数组里的元素的时候还是要跟声明对象一样,要new一个对象出来
    否则就会报null异常
      

  2.   

    String a = "你好"// 在字符串池中创建。如果已有不创建,采用享元模式。
    Data data = new Data(); // 在堆中创建一个对象。因为有newData1[] data1 = new Data1[5]; //在堆中构造一个数组
      

  3.   

    1.Data data = new Data(); 创建了一个对象空间还是一个对象?????跟String a = "你好"  同一个意思???
    ---------------------------
    创建的是一个对象,跟String a =new String("你好");是一个意思。String a="你好"涉及到字符串池的问题,这是因为String这个类的特殊性2.Data1[] data1 = new Data1[5]; 创建的是空间???
    -----------------------------
    同1楼所说,对象数组只是声明了一个对象数组占用的空间,具体用的时候还需要实例化对象,如
    data1[0]=new Data1();
      

  4.   

    1
    基本同一个意思,都是让变量指向一个对象,区别在于前者是在堆中生成一个对象,后者直接指向常量池的对象2
    2.Data1[] data1 = new Data1[5]; //相当于你买了5块地皮,地皮上什么都没有,就是荒地
    data1[0] = new Data(); //注意数组元素的使用,相当于你在第1块地皮上盖了个房子