【J2SE】认识变量

来源:互联网 发布:爱知日语价格 编辑:程序博客网 时间:2024/05/21 01:29

一、前言:

    Java的数据类型有两种:一种是基本数据类型,一种是引用类型。Java变量分为局部变量、成员变量(实例变量)、静态变量(类变量)。

二、变量必须拥有类型和名称。

三、对象的声明、创建与赋值有3个步骤


此变量的类型是Dog,变量的名称是myDog。

声明一个引用变量。要求Java虚拟机分配空间给引用变量,并将此变量命名为myDog。此引用变量将永远被固定为Dog类型

创建对象:要求Java虚拟机分配堆空间给新建立的Dog对象。

连接对象和引用:将新的Dog赋值给myDog这个引用变量。

                      


四、在堆上的生活

(一)、

Book  b  =  new Book();      

Book  c  =  new Book();             

声明两个Book的引用变量创建两个Book对象,然后将Book对象赋值给引用变量。现在这两个Book对象生活在堆上。

引用数:2   对象数:2


  



(二)、

Book   d = c;

声明新的Book引用变量,但不创建新的Book对象。而是将变量c的值赋给变量d,这意味着c的字节组合拷贝给变量d(c和d都引用相同的对象)。

引用数:3

对象数:2



(三)、

c  = b ;

把变量b的值赋值给变量c。这意味着变量b的字节组合被拷贝一份给c(b与c两者都引用相同的对象)。

引用数:3

对象数:2


五、堆上的 生与死

(一)、



(二)、

b  =  c;

把变量c的值赋给变量b。b和c引用相同的对象。对象1被垃圾回收机制收集。

引用数:2

对象数:2

被抛弃对象数:1



(三)、

c = null;

将null值赋给c。这代表着c不再引用任何对象,但还是个可以被指定引用 其他Book的引用变量。

作用中的引用数:1

null引用数:1

可存取对象数:1

被抛弃对象数:1







0 0
原创粉丝点击