zoukankan      html  css  js  c++  java
  • Java引用类型与指针的前世今生

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

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

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

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

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

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

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

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

  • 相关阅读:
    Appium学习笔记||十一、Appium按键操作
    Appium学习笔记||九、操作不可见元素
    Appium学习笔记||八、滑动页面
    Appium学习笔记||七、用UIAutomator API定位
    Appium学习笔记||六、根据Xpath寻找元素
    Appium学习笔记||五、Tap方法
    enumerate 函数
    python 复制 浅copy 深copy 的区别
    听歌都能听出来代码...
    for 循环时候 pop现象
  • 原文地址:https://www.cnblogs.com/skylife/p/7895645.html
Copyright © 2011-2022 走看看