关系
类就是数据类型,包含属性和行为;对象是一个具体的实例。
类 是抽象的、概念的;对象是具体的,实际的。
对象在内存中的存在形式
对象名存在栈区,根据属性不同分配不同的空间。
基本数据类型数据存在堆中。引用类型的地址存在堆中,数据存在方法区中的常量池中。
方法区中还会加载类的信息:属性信息和行为(方法信息)。
注:类,数组,接口都是引用类型,在内存中会保存地址。
属性 (成员变量)(字段)
属性是类的一个组成部分,一般都是基本数据类型,也可以是引用类型(对象,数组)。
注:属性如果不赋值会有默认值,
类与对象的内存分配机制
在方法区加载类信息,包括属性信息和方法信息。
new在堆中开空间,有了地址
地址会返回到栈中,栈中引用类型会对应指向该地址
(只要有数据空间就一定有地址)
Java内存结构分析
栈:一般存放基本数据类型
堆:存放对象(Cat cat,数组等)
方法区:常量池(常量,比如字符串),类加载信息(属性信息,方法信息。一个类只会加载一次)