博客
关于我
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 Row_Format 参数讲解
查看>>
mysql select, from ,join ,on ,where groupby,having ,order by limit的执行顺序和书写顺序
查看>>
MySQL Server 5.5安装记录
查看>>
mysql server has gone away
查看>>
mysql skip-grant-tables_MySQL root用户忘记密码怎么办?修改密码方法:skip-grant-tables
查看>>
mysql slave 停了_slave 停止。求解决方法
查看>>
MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
查看>>
MYSQL sql语句针对数据记录时间范围查询的效率对比
查看>>
mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
查看>>
mysql sysbench测试安装及命令
查看>>
mysql Timestamp时间隔了8小时
查看>>
Mysql tinyint(1)与tinyint(4)的区别
查看>>
MySQL Troubleshoting:Waiting on query cache mutex
查看>>
mysql union orderby 无效
查看>>
mysql v$session_Oracle 进程查看v$session
查看>>
mysql where中如何判断不为空
查看>>
MySQL Workbench 使用手册:从入门到精通
查看>>
MySQL Workbench 数据库建模详解:从设计到实践
查看>>
MySQL Workbench 数据建模全解析:从基础到实践
查看>>
mysql workbench6.3.5_MySQL Workbench
查看>>