对象和类在jvm内存中的存储机制
引言:
为什么要有面向对象?
a.可以用类组织一批不同类型的数据
b.把现实世界的物和事转换到计算中
现实世界的对象--->计算机中的类-->计算机内存中的对象
要实现面向对象的手段和途径,关键是类
类:就是一个名字
就是一个模型
就是一个数据结构
就是一种数据类型
用类可以在内存中实例化若干对象
jvm把内存分为三个主要部分
-
方法区:存储的是类的定义,静态数据,常量池,由jvm来控制管理
-
堆区:数组申请的空间,对象申请的空间,总之new出来的空间
堆空间中存储的是数组数据,对象的数据,可以通过程序操作的 -
栈区:堆中的对象空间中存储的是属性数据,没有方法,
判断对象是否相等,主要判断的是对象中的属性的值是否相等
所以对象就是数据的载体,对象中没有方法,只有数据
通过对象打点调用方法,实际上使用的方法区中的类定义里方法
方法中使用哪个对象的数据,取决于方法是被哪个对象调用的