返回
北大青鸟瀚唐校区
置顶
该校与厚学网暂未合作,平台不保证课程的真实有效性,如有侵权等争议,请及时与厚学网联系处理
招生热线:400-800-2181

学校地址:江苏省淮安市清浦区承德南路266号大学城软件园2号楼512室

Java引用类型与指针的前世今生

185 2017-12-01 09:36:36

学习笔记

学过Java的都知道,Java中并没有指针这一功能。但有一个和它很像的概念,即“引用”。

 

说它们很像是因为两者都指向一片内存地址,但实际在概念和作用上还是有很大的区别。

 

先来说一说指针吧,指针的引入是C的神来之笔,有人说C语言的全部精华就是指针。指针代表一个“对象或函数”的“地址和类型”。在内存上进行操作,它的好处一方面可以申请不连续的数据存储空间按需索取,另外运算也更加。但缺点是操作不当或程序员在设计程序上的隐氏错误会造成内存混乱,程序崩溃。

 

所以Java没有指针这个概念,更准确的说是弱化指针概念让大家努力忘掉指针这一概念,而突出了引用。

 

因为引用关乎Java的”万事万物即对象“的思想。引用变量(常缩写为引用)存储对对象的引用,实际对象存储在内存中的某处,而引用变量存储对象的内存地址。

 

引用变量将永远保存一些对象所存储的内存地址,除非引用变量当前没有引用任何对象。在这种情况下引用变量将存储空引用,即null。另外Java不允许引用基本变量。而对于指针来说,如果没有初始化就是非法的。

 

引用不可以计算,而指针可以,比如进行++运算。

总的说来Java的引用于C++的引用是有区别的,在功能上更接近于C++的指针。

淮安北大青鸟,淮安Java培训,淮安it培训!!!


文中图片素材来源网络,如有侵权请联系删除
来源:北大青鸟瀚唐校区
热门课程 全部课程

热门动态

申请免费试听

只要一个电话

我们为您免费回电

立即申请
刷新
图形验证
关闭
>>
拖动左边滑块完成上方拼图