现在学习java se
书上的代码如下:
import java.util.*;
public class PersonClass{  
     private int No;
     private String name;
     private boolean sex;
     private Date birthday;     public PersonClass(){}
     public personClass(int No,String name,boolean sex,int year,int month,int day){
          this.No=No;
          this.name=new String(name);
          this.sex=sex;
          this.birthday=new Date(year,month-1,day);
     }
      ......这里的name和birthday都用了new创建了,为什么No和sex不用new创建?那些变量需要用new创建的?
谢谢

解决方案 »

  1.   

    因为String在java是类来的!!!而int,boolean是基本类型!!!
      

  2.   

    这是构造器,里面No跟sex是通过传值直接赋值,而birthday是个日期类型也就一个对象,需要通过new配合其他传入的参数来构造,name使用new其实就是一个定义问题,直接this.name = name也一样,什么变量需要new是根据实际情况的具体含义来写的。
      

  3.   

    对象new创建
    8个基本类型直接
      

  4.   

    那我所有变量在定义之后都用new创建,会不会出问题?
      

  5.   

    对象需要用New创建 基本类型就不需要了 如果想用的话 可以用包装类 如Int对应Integer 至于是不是都要用视情况而定了
      

  6.   

    就是byte,short,int,long,float,double,char,boolean不用new创建直接赋值就可?
      

  7.   

    是的,但是String s = "abc"和String s = new String("abc")还是有区别的。具体可以看看http://blog.csdn.net/ghostresur/article/details/4250390
      

  8.   

    java 中有8中原生类型:byte、char、short、int、long、float、double、boolean
    ,这些类型直接使用;
    而每种原生数据类型都对应有包装类型:Byte、Character、Short、Integer、Long、Float、Double、Boolean,这些类型是引用数据类型。
    使用方法:如:Integer i = new Integer(1);或者Integer i = 1;(这样做可以是因为在JDK5中加入了自动装箱和拆箱的新特性)
    String类型是引用数据类型,但是有点特别,String str = new String("sss");和String str = "sss";都可以,只是在内存中的保存形式不同!
    平常用的一些类或者自己写的类都是引用类型,一般都需要用new关键字创建,为其分配内存!
      

  9.   

    啊,按楼上说的“java 中有8中原生类型:byte、char、short、int、long、float、double、boolean
    ,这些类型直接使用;
    而每种原生数据类型都对应有包装类型:Byte、Character、Short、Integer、Long、Float、Double、Boolean,这些类型是引用数据类型。

    Byte与byte等是不一样的啊?
      

  10.   


    byte就是一个数据类型
    Byte是一个类,封装了一个byte数据的类只要你是想用构造函数去建立一个类的对象都要用new的!当然还有很多其他不需要new建立的对象的方式(但是这种方式最底层的实现代码还是要new的)!
      

  11.   


    这些属于基本类型,String Date属于复合类型,它们都可以直接定义一个变量并且赋值.
    除去这些以外,当我们需要用到一个类定义的方法变量等内容时,我们必须使用new去创建一个类的对象实例去调用,
      

  12.   

    创建一个对象时要用new创建,No和sex是属性来的不用new