什么是引用值

来源:9-9 Java 中的 Object 类 Ⅱ

yuhq

2016-08-11 16:21

引用值为什么是地址

写回答 关注

2回答

  • 一易一
    2016-08-11 17:21:35
    已采纳

    在java的逻辑内存中分栈内存和堆内存。其中像是int,short,long,char,double等基本数据类型所需要的空间是固定的,在运算时数据是存储在栈内存中。而对于一个引用类型的变量,如String,或者一个对象,系统并不知道它们所占的空间具体值。在创建时,首先为了保证系统能够找到它,先在栈内存中存一个标识和基本空间(如创建person类的man对象: “person man”的意思就是在栈内存中创建man的空间 ,接下来通过new关键字在堆内存中创建一块空间,在将地址值返回给栈内存中)。对于一次性使用的对象可以直接用”new 类名()”的形式创建一个匿名对象(如匿名person对象调用talk方法:new person.talk()),因为系统无法再次找到它,所以在执行一次后将会被java虚拟机当做垃圾进行回收。在执行如运算符"=="的过程中其实都是直接在栈中就行操作,从而比较的其实是指向的地址,而不是内容。

    yuhq

    非常感谢!

    2016-08-11 18:10:46

    共 1 条回复 >

  • qq_灬桀殇_0
    2016-08-11 17:17:35

    引用值是在程序设计中,对于函数调用的一种方法,把值传递到新的变量,修改新的变量,不会修改原来的参数

    隔壁诸葛村夫

    引用类型变量存的是保存数据的空间地址,相当于指针传递,传递后其值就改变了

    2016-08-28 01:02:33

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530562 学习 · 6091 问题

查看课程

相似问题