日期:2014-05-20  浏览次数:20826 次

什么时候需要用new创建?
现在学习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创建的?
谢谢

------解决方案--------------------
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关键字创建,为其分配内存!