-
首先通过javac 变成 Hello.class
-
加载到类加载器,类加载器通过,加载、验证、准备、解析、初始化(该步会在下一次笔记中详细讲解)
-
准备阶段把 private static name = "jetty"; 类变量的值设置为初始值,是JVM给设置的值,不是自己给定的值。
-
初始值是什么:
-
byte 初始化为0;
-
short 初始化为0;
-
int 初始化为0;
-
long 初始化为0L;
-
char 初始化为"" 就是'';
-
boolean 初始化为false;
-
float 初始化为 0.0f;
-
double 初始化为 0.0d;
-
引用类型为null;
-
引用类型:就是对象的初始值。
-
-
初始化的时候,才会将自己设置的值赋给变量。
-
当new Hello(); 操作的时候,会先将实例信息加载到堆内存中,同样先初始化为JVM默认值,之后再初始化为你设置的值,然后执行构造方法。
-
步骤:
-
加载age放入堆内存中开辟好的对象空间。
-
把age的值初始化为0.
-
初始化age的值为10,
-
执行构造方法。
-
-
疑问解析:
-
实例变量和类变量:在一个class内部,实例变量就是没有static修饰的变量,有static修饰变量为类变量。
-
面向对象的三大特征:封装,继承,多态
-
面向对象和面向过程的区别:面向对象关注的是对象之间的交互。面向过程关注的是数据的走向。
-
例如:面向对象:你去问老师题目老师跟你说答案。
-
面向过程:你先确定了题目,找到了错误,确定不懂的地方,拿起对应的卷子,出发,找到老师的办公室,去问老师,老师收到答案,老师思考,找到问题等等等等。
-
-
名词解析:
-
OOA 面向对象分析
-
OOD 面向对象设计
-
OOP 面向对象编程
-