引用:
即为变量另起名字;
Tip:引用必须初始化
原因:初始化变量时,初始值被拷贝到新建的对象中;定义引用时,程序把引用和其初始值进行绑定,而非将初始值拷贝给引用;一旦初始化完成,引用将和其初始值对象一直绑定在一起,无法将引用重新绑定到另外一个对象。
引用即别名;
给引用赋值,其实就是把值赋值给了引用的对象;
Tip:引用本身不是一个对象,不可定义引用的引用;
Tip:引用只能绑定在对象上,不能与字面值或某个计算结果绑定;引用的类型需同被绑定的对象类型严格匹配;
指针
与引用的不同:
1.指针本身就是一个对象,允许对其赋值和拷贝,在其活着的时候,可以指向不同的对象;
2.指针出生(定义)时,不需要给他存钱(赋值);
定义方法:
将申明符(小孩名字)前加 *小孩名(变量名);
指针 存放了 某个对象的地址,若想获取该地址,则用&取地址符;
引用 不是对象,所以指针不可以指向 引用;
指针 的类型 需要 同被指向对象的类型保持一致;
指针值4种状态:
1.指向一个对象;
2.指向紧邻对象所占空间的下一个位置;
3.空指针,未指向任何对象;
4.无效指针:程序员必须清除知道任意给定的指针是否有效。