基本类型变量和引用型类型变量

个人理解只有一句话,在参数传递的过程中,基本类型变量是值传递,引用型变量时地址传递(类似于c++中的指针,不过java中没有指针这个说法)

下面具体说下,声明变量,定义变量是的内存分配问题

在java中基本类型变量声明是,系统直接为该变量分配内存空间(c++中不是这样,c++中只用在定义的时候才会分配内存空间,声明的时候不会分配),因此内存中可以直接操作。

引用型变量声明时,只为该变量分配引用空间,数据空间尚未分配,因此引用类型不可直接使用

如:

mydate today;
mydate.today=14;

  上面这句话明显是错误的。

正确的是:

mydate today;
today=new mydate()

其实,第一条语句的执行将给today变量分配一个保存引用的空间  today  null

第二句话将分两步进行,第一步执行new mydate(),给today变量开辟数据空间,第二部为today中的成员变量赋值,默认初始化为0。

 

引用变量间的赋值,就行当于指针间的赋值,改变一个对另外一个有影响(传址)。

posted on 2012-06-12 18:25  矮人狙击手!  阅读(2839)  评论(0编辑  收藏  举报

导航