精华内容
下载资源
问答
  • 引用类型和引用变量

    千次阅读 2019-05-09 19:48:44
    引用类型是一个对象类型,它的值是指向内存空间的引用,即地址,所指向的内存中保存着变量所表示的一个值或一组值。 基本类型举例说明: int a; a=250; //声明变量a的同时,系统给a分配了空间 引用类型只给变量...

    引用类型是一个对象类型,它的值是指向内存空间的引用,即地址,所指向的内存中保存着变量所表示的一个值或一组值。

    基本类型举例说明:

    int a;

    a=250;      //声明变量a的同时,系统给a分配了空间

    引用类型只给变量分配了引用空间,数据空间没有分配,因为不知道数据是什么。

    举一个错误的例子:

    MyDate today;

    today.day=4;          //错误,因为today对象的数据空间未分配

    引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。例如:

    MyDate today;    //将变量分配一个保存引用的空间

    today =new MyDate(); //这句话是2步,首先执行new MyDate()

    today.day=4;     //给today变量开辟数据空间,然后再执行赋值操作

    而引用变量的赋值,例如:

    MyDate a,b;      //在内存开辟两个引用空间

    a=new MyDate();    //开辟MyDate对象的数据空间,空间的首地址赋给a

    b=a;       //将a存储空间中的地址写到b的存储空间中

     

    展开全文
  • JAVA基础 引用类型变量和基本类型变量

    千次阅读 多人点赞 2016-08-16 22:32:27
    引用类型变量的名字是复杂数据的存储地点。包括类 数组(字符串) 接口 String s="Hello world!"; 许多人都写过这样的语句,但是,我们到底声明了什么呢?一休,你回答一下。 一休:声明了一个String对象,...

    一     基本类型的变量名是变量本身。   包括八种基本数据类型

    引用类型变量的名字是复杂数据的存储地点。包括类   数组(字符串)   接口

    String s="Hello world!";

    许多人都写过这样的语句,但是,我们到底声明了什么呢?一休,你回答一下。

    一休:声明了一个String对象,内容是"Hello world!"。

    愚公:这样的回答还是比较模糊,准确的回答是这个语句创建了一个字符串对象,另外它声明了一个指向对象的引用,名为s。它可以指向类型为String的任何对象,目前指向"Hello world!"这个String类型的对象。

    一休:也就是说,我们声明了一个只能指向String对象的引用变量s,并且将s指向了字符串对象"Hello world!"。

    愚公:是的,如果在刚才的语句后面再补充一句代码:

    String string=s;

    是不是又声明了一个新的对象呢?

    一休:是的,声明了一个新的对象string。

    愚公:不对,我们是声明了另外一个指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来的对象,也就是和s指向同一个对象。String类要弄清楚,因为这个类弄清楚了,许多类就好理解了。

    一休:String类这么重要吗?

    愚公:是的,因为这个类使用的频率很高,包含许多定制好的属性和方法,我们可以直接使用,而且这个类是final类,我们不能继承它,也不能继承和利用多态性修改它的方法。
    一休:那我今后一定好好研究它

    二  Java中数据类型分为两大类:基本数据类型与复合数据类型。相应地,变量也有两种类型:基本类型与引用类型。Java的8中基本类型的变量称为基本类型变量,而类、接口和数组变量时引用类型变量。这两种类型变量的结构和含义不同,系统对他们的处理也不相同。

    1.基本类型与引用类型变量

    *基本类型(primitive type)

    基本数据类型的变量包含了单个值,这个值的长度和格式符合变量所属数据类型的要求,可以是一个数字、一个字符或一个布尔值,例如一个整型值是32位的二进制补码格式的数据,而一个字符型的值是16位的Unicode字符格式的数据等。

    *引用类型(reference type)

    引用型变量的值与基本类型变量不同,变量值是指向内存空间的引用(地址)。所指向的内存中保存着变量所表示的一个值或一组值。

    引用在其他语言中称为指针或内存地址。Java语言与其他程序设计语言不同,不支持显示使用内存地址,而必须通过变量名对某个内存地址进行访问。

    2.两种变量的不同处理

    在Java语言中基本类型变量声明时,系统直接给该变量分配空间,因此程序中可以直接操作。例如,

    int a; //声明变量a的同时,系统给a分配了空间

    a=12;

    引用类型(或称为引用型)变量声明时,只是给该变量分配引用空间,数据空间未分配。因此引用型变量声明后不能直接引用,下列第二条语句是错误的:

    MyDate today;

    today.day = 14; //错误!因为today对象的数据空间未分配

    ......

    引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。通过对引用型变量声明与实例化语句的执行过程分析,可以理解系统对引用型变量的上述处理。例如有如下语句:

    MyDate today; 

    today = new Date();    //等于MyDate today = new Date ();

    第一条语句的执行,将给today变量分配一个保存引用的空间,第二条语句分两个步骤执行,首先执行new Date(),给today变量开辟数据空间,然后再执行第二条语句中的赋值操作,

    3.引用变量的赋值

    Java中引用型变量之间的赋值是引用赋值。例如,下列语句执行后,内存的布局如图3-5所示。

    MyDate a,b; //在内存中开辟两个引用空间

    a = new MyDate(); //开辟MyDate对象的数据空间,并把该空间的首地址赋给a

    b = a; //将a存储空间中的地址写到b的存储空间中

    展开全文
  • 引用类型变量表示在栈中引用了一个地址指向了堆中的对象,那么通常所说的这个变量的值指的是对象还是地址?如果一个引用类型的值为null,如何理解?地址为空还是引用一个地址指向一个空对象?谢谢!
  • java中引用类型变量和对象的区别

    千次阅读 2017-05-23 09:07:20
    java中引用类型变量和对象的区别。
    对象:是按照“类”这个模板建立的,建立的位置则是内存
    
    例如:A是一个类。A a则是创建一个引用变量,a=NEW A()则是在内存中建立一个对象(开辟了1片空间)
    ,对象的模板就是A(可以理解为在空间里复制了A类里的变量到空间里去)。此时就可以使用引用变量a
    去引用对象中的变量了。
    展开全文
  • 引用类型变量,对应内存所存储的值是一个引用,是对象的存储地址。将一个变量赋值给另一个变量时,另一个变量就被赋予同样的值;对引用类型变量而言,就是将一个变量的引用赋值给另一个变量。 如果不再需要某个...

    每个变量都代表一个存储的内存位置。声明一个变量时,就是告诉编译器这个变量可以存放什么类型的值。对于基本类型,对应内存所存储的值是基本类型值;对引用类型变量,对应内存所存储的值是一个引用,是对象的存储地址。将一个变量赋值给另一个变量时,另一个变量就被赋予同样的值;对引用类型变量而言,就是将一个变量的引用赋值给另一个变量。

    如果不再需要某个对象,可以显示地给该对象的引用变量赋null值,如果该对象没有被任何引用变量所引用,Java虚拟机将自动回收它所占的空间。

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 一。引用变量的特点 对象是通过对象引用变量来访问的,该变量包含了对对象的引用。...基本类型变量和引用类型变量的区别 每个变量都代表一个保存了存储值的内存位置。声明一个变量时,就是在告诉编译器这个变量可...
  • 值类型变量和引用类型变量的区别

    千次阅读 2017-12-02 11:25:09
    值类型数据的存储空间在栈空间中分配,引用类型数据则在堆空间分配。 由系统管理栈空间的所有操作,包括进栈和出栈。当一个数据出栈后,其所分配到的存储空间由系统自动回收。 堆空间由CLR负责管理。 2、值...
  • 基本类型变量和引用类型变量的定义、区别、误区,从内存和地址的角度更深刻解析。
  • 引用类型变量在声明后必须引用对象才能使用。 一个引用变量只能唯一指向一个对象,但同一个对象可被多个引用类型变量引用。 如:MyDate today; //将变量跟配给一个保存引用的空间(栈)  today = new MyDate();...
  • 当使用final修饰基本类型变量时,不能对基本类型变量重新赋值,因此基本类型变量不能被改变。但对于引用类型的变量而言,它保存的仅仅是一个引用,final只保证这个引用所引用的地址不会改变,即一直引用同一个对象,...
  • 一.Java中什么叫做引用类型变量? 引用:就是按内存地址查询  比如:String s = new String();这个其实是在栈内存里分配一块内存空间为s,在堆内存里 new了一个String类型的空间,在运行时是 栈内存里的...
  • 2 当使用final修饰引用类型变量时,它仅仅保证他的地址不变,即一直引用同一个对象,但这个对象完全可以发生改变。   二 final修饰引用类型变量应用 1 代码示例 import java.util.*; class Person { ...
  • 在C++中使用引用类型的成员变量

    千次阅读 2018-03-23 10:40:29
    最近才发现C++可以定义引用类型的成员变量,以前一直以为不可以,原因是初始化时有编译错误,现在说明一下如何定义并初始化引用类型的成员变量:class Test{private: int &a;//引用类型的成员变量public: ...
  • 在《Java核心技术 卷I》中,提到“不能再静态域或方法中引用类型变量”。
  • 引用变量的强制转换类型

    千次阅读 2016-05-08 19:13:00
    1.引用变量只能调用它编译时类型的引用方法,而不能调用它运行时类型的方法,即使它实际所引用的对象确实包含该方法,如果需要让这个引用变量调用它运行时类型的方法,则必须把它强制类型转换成...引用类型之间的转换只
  • 之前听说说成员中的基本类型是在堆中分配空间,而如果是在函数中,那么就是在栈中的局部变量表中分配空间,是这样吗?那么引用类型呢?和基本类型一样吗?
  • C++ | 引用变量

    万次阅读 多人点赞 2018-03-22 17:20:14
    导语:为什么要有引用变量 引用的概念 用法示例 引用的属性与特别之处 主要作用 1.引用作参数 用法 引用传参的另一个好处 小结 2.引用作返回值 为何要返回引用 返回引用时要注意的问题 小结 何时使用引用...
  • 结构体变量引用

    千次阅读 2019-05-28 08:10:56
    定义了结构体变量之后就可以在程序中对他进行引用,但是结构体变量的引用同一般变量引用不太一样,因为结构体变量中有多个不同类型变量,所以结构体变量不能整体引用,只能一个一个成员的引用。 1 只能分别单独引用...
  • Java基本类型变量与引用类型变量

    千次阅读 2015-04-22 17:13:59
    Java基本类型变量与引用类型变量  (2013-04-08 20:47:54) 转载▼ 标签:  java   设计模式   java设计模式   语句   it 分类: Java Java基本类型变量...
  • C# struct 为啥可以有引用类型变量

    千次阅读 2018-12-22 11:29:15
    首先,C#的值类型有很多 struct enum int long…对 除了基本的还有 struct enum 你可能看过这样的例子 public struct ClothesInfo { public string Desc; public GameObject Prefab; public Sprite IconM; ...
  • Java引用变量的强制类型转换

    千次阅读 2018-10-16 11:49:52
    引用变量的强制类型转换 为什么强制转换类型? 多太的弊端是不能使用子类特有的功能;用向下转型来解决这个问题,即把父类的引用强制转换为子类的引用。 格式 ...引用类型之间的转换只能在具有继...
  • final修饰基本类型变量和引用类型变量的区别 “宏替换”的final final方法 final类 1.final成员变量 final指定的成员变量必须由程序员显式的进行指定初始值 归纳总结:final修饰的类变量,实例...
  • 对于C/OC/C++程序员来说,输出一下所创建对象的内存地址,观察、分析或者单纯...本文对C#语言显示引用类型内存的地址的方法进行了封装, 并以System.String和StringBuilder两个类为例展示了他们的内存地址变化情况。
  • 如何初始化引用类型的成员变量

    千次阅读 2016-11-01 19:23:41
    在C++中声明引用类型的变量时,必须紧接着给此变量赋初值,要不这样的话会产生编译错误,局部的引用类型变量还能做到立即赋初值,那么,引用类型的成员变量如何给它赋值呢?应该在它的构造函数初始化列表中给它赋值...
  • JAVA中的引用四种引用类型

    千次阅读 2020-08-30 10:09:38
    关于值类型和引用类型的话题,C++、JAVA、python、go、C#等等高级语言都有相关的概念,只要理解了其底层工作原理,可以说即使是... 从上图可以显而易见,num是int基本类型变量,值就直接保存在变量中。str是String引.
  • C++ 引用变量

    千次阅读 2017-04-03 11:08:55
    C++新增了一种复合类型--引用变量引用是已定义变量的别名,使用引用变量的主要的用途是作为函数的参数。通过将引用变量用作参数,函数将使用原始数据,而不是副本。这样除指针之外,引用也为函数处理大型结构提供...
  • Java对象和引用变量

    万次阅读 多人点赞 2016-08-31 00:45:30
    对于引用变量的深层含义,未必在初学的时候就能深刻理解, 所以理解好下面这两句话的真正含义非常重要Case cc=new Case();... 基本类型变量和对象的引用变量 存取速度比堆要快,仅次于寄存器,栈
  • Java引用变量类型

    千次阅读 2014-07-20 01:29:54
    Java引用变量类型 1、编译时类型:由声明该变量时使用的类型决定 2、运行时类型:由实际赋给该变量的对象决定  如果编译时类型和运行时类型不一致,就可能出现多态性
  • 引用变量的初始化

    千次阅读 2017-08-17 11:39:55
    类型变量名 = 表达式; 变量初始化表达式分析 现在分析下变量初始化表达式. 举个例子: 一个数组的初始化如下: int[] test = new int[]{1,2,3,4}; 大家思考下, 上面的这个语句, 执行了几步呢?
  • C#中交换两个引用类型变量的值

    千次阅读 2016-12-17 23:01:58
    在数组排序中,如果数组元素是引用类型变量,就不能按照值类型那样通过定义一个中间变量来直接实现两个数组元素的交换。参考C++中类似的情况,要交换两个引用类型变量的值,在自定义交换函数时,通过传入指针变量的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,108,510
精华内容 443,404
关键字:

引用类型的变量是