对象:属性+方法
类是指:描述一种事物的定义,是个抽象的概念
实例指:该种事物的一个具体的个体,是具体的东西
联系
类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。
类对象的关系
类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。
打个比方:
“人”是一个类。“张三”是人类的一个具体例子
在编程时也是同样的道理,你先自己定义一个“类”,当你需要用时,用“类”的定义来创造一个具体的例子。
用类的定义来创建一个实例,就叫做类的实例化。
举个很简单的例子,你创建了一个老虎的类,老虎那么多,你咋知道是哪只老虎,等你实例化,就定位到某只老虎身上了。这只老虎就有了老虎的共同属性,像体重啊,身长啊,颜色啊。那些属性的属性值就是这只老虎的特征。
过程
Person p = new Person();
1,JVM会去读取指定路径下的Person.class文件,并加载进内存,
并会先加载Person的父类(如果有直接父类的情况下)
2,在堆内存中开辟空间,分配地址。
3,并在对象空间中,对对象中的属性进行默认初始化
4,调用对应的构造函数,进行初始化
5,在构造函数中,第一行会先调用父类中的构造函数进行初始化。
6,父类初始化完毕后,再对子类的属性,进行显示初始化。
7,指定构造函数的特定初始化
8,初始化完毕后,将堆内存中的地址值赋给引用变量。