到底什么是对象,什么是对象的引用?对象和对象的引用有那些区别?
一、分析对象引用与对象的区别
为了接下来进行更好的分析,我先建立一个Demo类,用于后面的分析。
public class Demo{//默认构造方法public Demo{}
接下来,我们用Demo类来创建一个对象。
Demo demo=new Demo();
这一条语句,其实包括了四个动作:
1)右边的“new Demo”,是以Demo类为模板,在堆空间里创建一个Demo对象。
2)末尾的()意味着,在对象创建后,立即调用Demo类的构造函数,对刚生成的对象进行初始化。
3)左边的“Demo demo”创建了一个Demo类引用变量,它存放在栈空间中。也就是用来指向Demo对象的对象引用。
4)“=”操作符使对象引用指向刚创建的那个Demo对象。
当然这条语句我们也可以写成:
Demo demo;//创建对象引用
demo=/*将对象引用指向对象*/new Demo();//创建对象
这样显得更加清晰了。
二、对象引用与对象之间的关系
1)从对象引用出发:一个对象引用可以指向一个对象
Demo demo;//一个对象引用
demo=new Demo();//一个对象引用指向一个对象
也可以被多个对象引用同时引用。
Demo demo1,demo2,demo3;//创建多个对象引用
demo1=new Demo();
demo2=demo1;
demo3=demo2;//创建对象,并被多个对象引用指向
这样一看就一目了然了。
**
原文作者链接 https://blog.csdn.net/qq_26805137/article/details/52945688**
到底什么是对象,什么是对象的引用?对象和对象的引用有那些区别?相关推荐
- matlab电流表怎么找,电压表、电流表到底在测量谁?小编教你快速“找对象”!...
原标题:电压表.电流表到底在测量谁?小编教你快速"找对象"! 初中电学是很多同学的一大心病,特别是面对麻烦的电路图,根本不会分析,更不知道电流表电压表测量对象是谁了~学习电学好几年 ...
- java函数ao活动对象_JavaScript中的执行上下文和变量对象
执行上下文(Execution Context) JavaScript代码执行的过程,包括编译和执行两个阶段,编译就是通过词法分析,构建抽象抽象语法树,并编译成机器识别的指令,在JavaScript代 ...
- Java对象的生命周期与垃圾回收以及四种引用
转载请注明出处: Java对象的生命周期 与 垃圾回收 - ITeye博客 - 老Man 创建对象的方式 用new语句创建对象. 使用反射,调用java.lang.Class或java.lang.re ...
- Java——深入理解Class对象(一):什么是Class对象
Class类是我们再熟悉不过的东西,但是对于Class对象,很多人却是一脸懵逼. Class对象到底是什么呢?今天我们就来深入了解一下它. 1.RTTI的概念 RTTI(Run-Time Type I ...
- 天天都是面对对象编程,你真的了解你的对象吗?
推荐阅读: 这套Github上40K+star学习笔记,可以帮你搞定95%以上的Java面试 毫不夸张的说,这份SpringBoot学习指南能解决你遇到的98%的问题 给跪了!这套万人期待的 SQL ...
- java对象什么时候回收_Java对象的生命周期与垃圾回收以及四种引用
创建对象的方式用new语句创建对象. 使用反射,调用java.lang.Class或java.lang.reflect.Constructor的newInstance()实例方法. 调用对象的clon ...
- java子类引用指向父类对象_java 中父类引用指向子类对象时
继承和方法重写已经很熟悉了,这次 主要验证一下,当一个父类的引用指向一个对象的时候,它会调用子类的方法,而不是父类的. 引用在栈内存中存在对象的内存地址.真正的对象(通过 new Student()创 ...
- java -----多态:父类引用指向子类对象
生活中的人物视角 程序中的多态 概念:父类引用指向子类对象,从而产生多种形态 一个引用变量到底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定 比 ...
- 父类引用指向子类对象
父类引用指向子类对象,如何访问子类的属性? 1.第一种办法最简单,强制类型转化为子类. 2.父类引用指向子类对象,由于当前引用为父类,只能访问父类的字段和方法,但是根据多态性可以访问子类的方法,在这个 ...
- C++中的常引用、常对象、常函数、常数据成员
1.常引用 用const声明的引用就是常引用.常引用所引用的对象不能被更改.经常见到的是常引用作为函数的形参,这样不会发生对实参的误修改.常引用的声明形式为:const 类型说明符 &引用名. ...
最新文章
- NET基础(3):is 和 as 操作符
- Homebrew安装不要改hosts了,直接用这个国内源才爽!
- 顺丰固定翼无人机来了,未来你的快递将一路“飞”到你手中
- Golang 入门笔记(一)
- jsp 选择时分秒控件_【最全】9月计算机考试报名通知(6.19更新,仅差4省市)附:分析如何选择科目...
- 面试官:InnoDB中一棵B+树可以存放多少行数据?
- 如何在Java中使用重复项查找整数数组中的K个缺失数字?
- C# 文件流相关操作
- 春晓JAVA的横排和竖排输出
- 知行之桥EDI系统中那些你忽略的功能
- vb.net教程 3-1 窗体编程基础 1
- Python网络编程之网络基础
- 西门子g120变频器接线图_西门子G120变频器参数设置,快速使用
- OneNote使用技巧 - 5.快速设置首行缩进
- 网页播放全景视频和全景图片
- java基础初解一:数据类型、String、运算
- HuTool 工具类详细介绍2 文件操作工具类
- 买计算机硬件配置,买笔记本电脑时如果只看硬件配置,那就大错特错了
- 网上商城购物系统设计与实现(Java+Web+SSM+MySQL)
- 数学史资料:中国数学