在学习java的过程中,我们都听说过“万物皆对象”这句话,那对于对象这个贯彻到整个java技术体系的概念,我们应当怎么去理解呢?我下面谈谈我对于它的认识。
谈到对象,我们首先会考虑到的一个问题:对象是什么?
对此,我的理解是:对象是对现实世界某一类物体的一个具体抽象,是我们用来存储数据和操作数据的实体。这里就包含了对象的一个基本特征:它是有类型的。一个对象只会属于一个类型,直接存储和操作这个类型特定的数据。
第二个问题,对象存放在哪里?
一共有五个地方可以存放数据。1)寄存器,这是速度最快的存储区,位于处理器的内部,用来存储操作指令的,java程序中无法直接控制。2)堆栈,位于RAM(随机访问存储器)中,速度仅次于寄存器,java系统必须知道存储在堆栈中所有项的确切生命周期,所以比较适合存放内存较小的如对象引用和基本数据类型这些。3)堆,也是位于RAM中,用于存放所有的java对象,不需要知道存储数据的生命周期,所以有很大的灵活性,而由于数据所占内存通常较大,所以进行存储分配和清理时比堆栈要慢。4)常量存储,通常直接放在程序代码内部,有个比较特殊的是字符串常量,这个是放字符串池中(一个静态存储区),位于ROM(只读存储器)中。5)非RAM存储,如果数据不依托程序而存活,比如流对象和持久化对象,它们是放在磁盘上。
第三个问题,如何使用对象?
在java中,从来都不是直接操作对象,而是通过对象的引用来操作。
比如:这个地方就创建了一个引用,并不是对象。此时并不能只想任何操作,而下面这一段String s;
通过初始化引用变量,这个时候就可以使用这个引用s来完成String类型应有的操作了。String s = "as";
在java中,创建对象需要一个关键字new,上面的代码可以这样写
这样就在堆里创建出一个对象了。String s = new String("as");
第三个问题,对于过期对象的处理
在java中,有个垃圾回收机制,不需要我们手动去销毁对象,因为在对应的作用域结束后,引用变量就会消失,而没有再被引用的对象就会被垃圾回收器销毁。
以上便是我对于对象的初步认识。
浅谈对象
最新推荐文章于 2023-07-07 10:38:08 发布