博客
关于我
java--类与对象的理解及浅显过程内存结构
阅读量:301 次
发布时间:2019-03-03

本文共 978 字,大约阅读时间需要 3 分钟。

一、什么是类和对象

: 对一类事物的统称,例如:人类  (此称呼就是对  人   这 一类事物 的描述) 抽象的  概念上的统一定义

对象:具体存在的个体 、实际 存在  在客观世界中 也叫作:实例    张三、李四都是具体的个体(一个人)

对象 是 根据  类(抽象的东西) 具体出来的(也就是 实例化出来的)

例如:类  相当于  楼的设计图纸   (任何楼都有一样的结构:地基  混凝土 钢筋)

          注:定义类:就是定义 类 中的  成员变量(Field)  和   成员方法(method)

                 相当于:定义楼  都需要 混凝土、钢筋等 和 地基、每层楼面怎么盖

          对象  相当于  根据 设计图纸具体盖出来的  大楼:写字楼、居民楼、等等

  就是 把一个种类的一堆实体对象  的 相同功能和通用的材质  抽离出来  (抽象出来)

二、在java中创建类的对象

使用 类 : 就必须 将 类 实例化 (即:创建类的 对象(对象:又叫做实例))

方法1.调用 类的构造器 来 创建类的对象   (new  一个东西)

创建出来的对象也具有  类有的结构和方法(方法就是设计的功能) 

Person  p1 =new   Person();

p1 就叫做 实例出来的对象   

p1.name=“张三”;

p1.eat();

可以通过 p1 来   修改 类中的 成员变量的值  和  调用 类中的成员方法   

创建类的对象过程  :   内存结构:

在内存中分区 :目前用到 栈  和堆

栈:存放 对象的引用;局部变量

堆:存放new出来的东西;成员变量

首先 第一行代码: Person  p1 =new Person();

Person  p1:栈空间开辟出一个空间 存放引用变量p1 

new Person():堆空间开辟出一块区域 ,会有一个首地址  然后将   首地址的地址值    传给  栈 中的 p1(这个引用变量)

new Person() 这样的操作,new出来以后  new Person()就是一个实体了   

类的成员变量存在于  创建出的 new Person() 这个实体中

初始的成员变量 为初始值

其次  第二行代码:  p1.age=45;

对于 实体中的  成员变量  进行初始化  修改为 45

 

每一次 new  一个类的 实例  就在堆空间 中重新进行开辟区域    

new出来的新的对象 之间 没有任何关系

每一个根据类创建出的 对象中的 成员变量互不影响 

你可能感兴趣的文章
nginx:Error ./configure: error: the HTTP rewrite module requires the PCRE library
查看>>
Nginx:objs/Makefile:432: recipe for target ‘objs/src/core/ngx_murmurhash.o‘解决方法
查看>>
nginxWebUI runCmd RCE漏洞复现
查看>>
nginx_rtmp
查看>>
Vue中向js中传递参数并在js中定义对象并转换参数
查看>>
Nginx、HAProxy、LVS
查看>>
nginx一些重要配置说明
查看>>
Nginx一网打尽:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化......
查看>>
Nginx下配置codeigniter框架方法
查看>>
Nginx与Tengine安装和使用以及配置健康节点检测
查看>>
Nginx中使用expires指令实现配置浏览器缓存
查看>>
Nginx中使用keepalive实现保持上游长连接实现提高吞吐量示例与测试
查看>>
Nginx中如何配置WebSocket代理?
查看>>
Nginx中实现流量控制(限制给定时间内HTTP请求的数量)示例
查看>>
nginx中配置root和alias的区别
查看>>
nginx主要流程(未完成)
查看>>
Nginx之二:nginx.conf简单配置(参数详解)
查看>>
vue中各模块加载和渲染的过程
查看>>
Nginx从入门到精通
查看>>
Nginx从入门到精通(全)
查看>>