`
kakac001
  • 浏览: 12669 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

多个对象赋值问题(基础问题)

阅读更多
条件是:
Object object1; 
Object object2; 
Object object3;
object2 = new Object(); //假设这个new出来的叫做实例A
object3 = new Object(); //假设这个new出来的叫做实例B
object1 = object2;
object2 = object3;

问题是
现在 object1所指向的对象是哪个?



原本以为 object1 由于被赋值成 object2,
而object2又被赋值成 object3,
那么很自然object1这个时候应该是 object1 == object3

然而答案是object1 == object2
细想一下,
(一)当object1 = object2 时,
object2的内存地址被指给了object1,
即object1-->实例A,
object2-->实例A,
object3-->实例B,

(二)而object2被重新赋值成object3时,
这个时候object2-->实例B,
object3-->实例B,
而object1-->实例A,
因为object1并没有被改变.

如果把他们看成是5个对象间的互相赋值,
应该会好理解许多
分享到:
评论

相关推荐

    ES6基础之解构赋值(destructuring assignment)

    解构赋值能让我们用更简短的语法进行多个变量的赋值,大大的减少了代码量。解构表达式有两种:array和object。 今天的文章笔者将从以下方面进行介绍: 使用数组表达式解构赋值 常规用法 忽略数组中的某些值 使用...

    Python基础知识点.docx

    您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "john" 以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b ,字符串对象 "john" 分 配给变量 c 。 标准数据类型 在内存中存储的数据可以有多种类型。 ...

    Python3基础教程二(个人整理).docx

    您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "zzzzz" 以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "zzzzz" 分配给变量 c。 标准数据类型 Python3 中有六个标准的数据类型: ...

    Python基础知识点.doc

    您也可以为多个对象指定多个变量.例如: a, b, c = 1, 2, "john" 以上实例,两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。 标准数据类型 在内存中存储的数据可以有多种类型. 例如,一...

    Python基础知识点(2).doc

    您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "john" 以上实例,两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。 标准数据类型 在内存中存储的数据可以有多种类型。 例如,一...

    Python基础知识点(3).doc

    您也可以为多个对象指定多个变量。例如: a, b, c = 1, 2, "john" 以上实例,两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c. 标准数据类型 在内存中存储的数据可以有多种类型。 例如,一个...

    Python基础知识点(4).doc

    您也可认为多个对象指定多个变量。比方: a,b,c=1,2,"john" 以上实例,两个整型对象1和2的分配给变量a和b,字符串对象"john"分 配给变量c。 标准数据种类 在内存中积蓄的数据可以有多各种类。 比方,一个人的年龄...

    Java程序设计基础:创建String字符串.pptx

    字符串常量:双引号括起来的多个字符组成的序列,每一个字符占2个字节,在内存中共占用2n个字节,n为字符的个数。 例如: " 1234 " , " hello world " ,"A " // 正确 ‘1234’ ,‘abcd’ //错误 创建String对象 ...

    【廖雪峰python教程学习】-(一)python基础.pdf

    输出多个对象时,需要⽤ , (逗号)分隔。 sep -- ⽤来间隔多个对象,默认是空格。 end -- ⽤来设定以什么结尾。默认值是换⾏符 \n,可以换成其他字符。 file -- 要写⼊的⽂件对象。 2. 字符串和编码 2.1 字符编码 ...

    iOS对象指针和基础数据类型的强转详解

    本文主要介绍了iOS中对象指针和基础数据类型如何进行强转,下面话不多说,直接来看示例详解。 一、对象指针的强转: UIView *view = [UIView new];//new一个UIView类的对象 UILabel *label = (UILabel *)view;//...

    python中的ch表示什么-Python基础教程Ch5-条件、循环和其他语句.pdf

    python中的ch表⽰什么_Python基础教程Ch5-条件、循环和其 他语句 第5章 条件、循环和其他语句 第5章 条件、循环和其他语句 5.1print和import的更多信息 print语句可以同时打印多个表达式,只需要⽤逗号分隔即可,...

    尚硅谷Python核心基础

    《尚硅谷Python核心基础》视频教程,系尚硅谷Python+人工智能学科历时多月,精心打磨而成。授课老师从业经验丰富,讲课由浅入深,贴近真实开发,紧紧围绕Python核心基础知识,系统讲解操作系统、Python环境搭建、...

    JavaSE 基础 数组.pdf

    数组是一种数据结构,可以存储多个相同类型的元素;在Java中,数组是一种对象,它可以存储基本数据类型和对象类型。 二、数组有哪些常见的操作? ● 创建数组:使用new操作符创建一个新的数组对象。 ● 访问元素:...

    程序设计基础(C) 视频.txt

    本书每一章中都用大量实用性较强的例题阐述基本知识点,同时在每章的最后都提供一个有一定难度且趣味性较强的综合实例,将本章中多个知识点有机地结合起来,力求读者能把理论与实践紧密结合,体会解决实际问题的过程...

    84、智能指针的原理、常用的智能指针及实现.pdf

    动态分配的资源,交给⼀个类对 象去管理,当类对象声明周期结束时,⾃动调⽤析构函数释放资源 常⽤的智能指针 (1) shared_ptr 实现原理:采⽤引⽤计数器的⽅法,允许多个智能指针指向同⼀个对象,每当多⼀个指针指向...

    架构设计-详细说明设计思路

    多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说就是,允许将子类类型的指针赋值给父类类型的指针。多态性在...

    Python面向对象基础入门之设置对象属性

    当根据类创建了对象之后,这个对象就有了一个数据结构,包含一些赋值了的属性。在这一点上,它和其它语言的struct的作用是类似的:存储数据并提供数据检索功能。 例如,下面是史上最简单的类: class Person: pass ...

    你必须知道的495个C语言问题.pdf

    书中列出了C用户经常问的400多个经典问题,涵盖了初始化、数组、指针、字符串、内存分配、库函数、C预处理器等各个方面的主题,并分别给出了解答,而且结合代码示例阐明要点。  本书结构清晰,讲解透彻,是各高校...

    Python学习之路—–基础数据类型

    基础数据类型 python版本 3.7.7 Python 中的变量不需要声明。但是每个变量在使用前都必须赋值,变量赋值...也可以对多个对象指定多个变量(且变量类型可不一致): a,b,c = 1 , 5.20, Iloveyou print(a,b,c) 1 5.2 Ilo

Global site tag (gtag.js) - Google Analytics