博客
关于我
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出来的新的对象 之间 没有任何关系

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

你可能感兴趣的文章
Netty中Http客户端、服务端的编解码器
查看>>
Netty中使用WebSocket实现服务端与客户端的长连接通信发送消息
查看>>
Netty中实现多客户端连接与通信-以实现聊天室群聊功能为例(附代码下载)
查看>>
Netty中的组件是怎么交互的?
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
netty之 定长数据流处理数据粘包问题
查看>>
Netty事件注册机制深入解析
查看>>
netty代理
查看>>
Netty入门使用
查看>>
netty入门,入门代码执行流程,netty主要组件的理解
查看>>
Netty原理分析及实战(一)-同步阻塞模型(BIO)
查看>>
Netty原理分析及实战(三)-高可用服务端搭建
查看>>
Netty原理分析及实战(二)-同步非阻塞模型(NIO)
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty发送JSON格式字符串数据
查看>>
Netty和Tomcat的区别已经性能对比
查看>>
Netty在IDEA中搭建HelloWorld服务端并对Netty执行流程与重要组件进行介绍
查看>>
Netty基础—1.网络编程基础一
查看>>
Netty基础—1.网络编程基础二
查看>>
Netty基础—2.网络编程基础三
查看>>