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

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

你可能感兴趣的文章
mysql丢失更新问题
查看>>
MySQL两千万数据优化&迁移
查看>>
MySql中 delimiter 详解
查看>>
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>