目录
1. 类与对象的关系
1.1 示意图
1.2 区别和联系
(1)类是抽象的、概念的,代表一类事物,如人类、猫类,是数据类型。
(2)对象是具体的、实际的,代表一个具体事务,是实例。
(3)类是对象的模板,对象是类的一个个体,对应一个实例。
2. 类的创建
2.1 基本定义
在类的创建中,如 Cat cat = new Cat()
“new Cat()”创建的对象空间(包括其中的数据),才是真正的对象。
cat只是一个对象名,进行对象引用,指向对象空间的地址。
2.2 Java内存的结构分析
(1)栈:一般存放基本数据类型(局部变量)
(2)堆:存放对象(Cat cat,数组等)
(3)方法区:常量池(常量,比如字符串),类加载信息
2.3 创建对象的内存分析图
创建的属性信息中,字符串类型是在方法区的常量池中创建,在堆中是一个指向常量池的地址,而基本数据类型是直接在堆中创建。
类的成员变量就是 属性。
2.4 对象名赋值
将创建的一个类的对象名赋给另一个对象名,和数组赋值一样,是赋的对应数据空间的地址,使两个对象名指向了同一个数据空间的地址。
例:Cat a = new Cat();
Cat b = a;