类和对象的区别和联系
- 类是抽象的,概念的,代表一类事物,比如人类,猫类.., 即它是数据类型;
- 对象是具体的,实际的,代表一个具体事物, 即 是实例;
- 类是对象的模板,对象是类的一个个体,对应一个实例;
类和对象的内存分配机制
Java 内存的结构分析
- 栈: 一般存放基本数据类型(局部变量);
- 堆: 存放对象(Cat cat , 数组等);
- 方法区:常量池(常量,比如字符串), 类加载信息;
Java创建对象的流程分析
【代码示例】
Person p = new Person();
p.name = “jack”;
p.age = 10;
- 先加载 Person 类信息(属性和方法信息, 只会加载一次);
- 在堆中分配空间, 进行默认初始化(看规则);
- 把地址赋给 p , p 就指向对象;
- 进行指定初始化, 比如 p.name =”jack” p.age = 10;