引用类型是一个对象类型,它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
int a;
a = 250; // 声明变量a的同时,系统给a分配了空间。
引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为不知道数据是什么。
错误的例子:
MyDate today;
today.day = 4; // 发生错误,因为today对象的数据空间未分配。
引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。
MyDate today; //将变量分配一个保存引用的空间
today = new MyDate(); // 这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作
引用变量赋值:
MyDate a,b; // 在内存开辟两个引用空间
a = new MyDate(); // 开辟MyDate对象的数据空间,并把该空间的首地址赋给a
b = a; // 将a存储空间中的地址写到b的存储空间中