上班之余发现有很多空闲时间,享受生活 又觉得有点空虚,而且对自己的基础知识总觉得掌握的不是很牢固,有点似懂非懂的感觉,近来刚好有时间,所以就考虑继续学习,然后再经过考虑和各大博主推荐选择了《java编程思想》这本书,在此分享学习心得跟大家共勉,也算是对自己的监督吧。(本内容需要有一定的基础才能看,类似于基础回顾,强化理解,新手可能有些地方不太能听懂)
一、什么是对象?
这并不是我们男女朋友那种对象哈哈。
简言之:万事万物皆对象。
个人理解:我们所要处理的事务或者建立的某种模型的抽象总结。具体就是把我们想要操作的所有事物进行抽象化、概念化,总结出来,这个总结的结果我们称之为对象。
java主要是一个面向对象的语言,在java的世界里其实跟现实世界是一样的,不过是把显示世界抽象化后对应到了java世界中。举个例子:现实中我们想看电视,我们需要对电视进行操作,这时候我们就有了对象,这个对象就是电视。如果我们想喝水,那这个对象就是水。我觉得所有现实中的名词都可以抽象对应到java中。(个人认为,没有经过专家认证)
有了对象那怎么处理这个对象呢?对象有什莫用?
很明显在有了对象之后我们就可以对这个对象执行我们的像某种需求行为了。就像上边的例子(喝水)水是对象,那有了水这个对象之后 我们当然是想执行喝这个动作了,那我们去执行喝这个动作的时候是不是应该先找到水呢?不找倒水咋喝呢是吧,所以就出现了一个新的名词叫对象的我“引用”,其实就是(我的理解)对象的标识符,找到这个标识符就能找到这个对象了,找到对象就能喝水了。
第一个例子: String s;
这里只是创建了引用,但是没有指向对象。这时对s传一个数据肯定会报一个运行时错误。这是因为你没有找到水,这个对象,执行喝这个动作,(那就只能喝空气哈哈)肯定结果是不对的。
来个正确的; String s ="nihao";
这里就 必须提一个很重要的概念了,这个曾经在写代码的时候遇到过这个问题,就是:创建引用就要初始化,一定要牢记这个概念,不然对引用操作的时候回报错的。
如何创建对象:
通常java中用new 这个关键字来创建对象 例:String s =new String("helloworld");
这就创建了一个字符串对象,这个对象的引用(标识符)为s。
二、存储
既然已经了解了对象是如何创建的,那 程序运行时内存是怎沫分配的呢,对象是怎么运行的呢?
1)寄存器。位于处理器内部的存储空间
2)栈。位于通用RAM(随机访问存储器)中,一般存储的是对象的引用和其他java数据。对象并不存于此处。
3)堆。通用内存池(也位于RAM区)用于存放所有java对象
一般知道这三个就可以了,还有常亮存储和非RAM存储,这个自己了解下就可以了
原文地址:https://www.cnblogs.com/yz820/p/9778177.html