1. 面向对象三大特性
| 特性 | 说明 | 例子 |
| 接口 | 作为方法的标识,只要调用即可,不需要关心接口后是怎样实现的 | 最常见的USB接口,只要插上对应的鼠标、键盘就可以使用,因为他们都是统一使用这个USB接口的 |
| 继承 | 子类继承父类的功能,子类可以使用父类的方法 | new一个class类,可以直接使用toString方法,因为新的类继承了OBject类 |
| 多态 | 在继承基础上使用的,通过传入不同的子类,使同一个方法展示不同的功能 | 打印机使用多态,可以选择安装彩色打印,还是安装黑白打印 |
2. 面向过程、面向对象
| 面向过程 | 面向对象 | |
| 说明 | 一步一步的进行下去 | 将一个大的物件划分成小的模块,然后组装成一个整体 |
| 例子 | 如开车:启动 -> 挂挡 -> 放手刹 -> 行驶 | 比如造车:车子是由多个对象构成的,分别是轮子、方向盘、车窗等 |
| 优点缺点 | 复杂度低,易修改,扩展性差 | 易扩展,可维护性高,设计复杂 |
面向对象设计简易图

3. JVM框架

| 存放信息 | 是否共享 | |
| 方法区 | 类信息、常量池、静态变量、编译后的代码 | 共享 |
| 堆 | 对象存放 | 共享 |
| 栈 | 方法运行压栈 | 不共享 |
下面是构建一个新的对象,现在堆中开辟空间分配地址,然后给栈中对象指定地址

4. 变量生命周期以存在空间
| 范围 | 空间 | 生命周期 | 默认值 | |
| 成员变量 | 全局 | 存在堆中 | 生命周期整个对象存活时间 | 有默认值 |
| 局部变量 | 只在方法内 | 存在栈中 | 生命周期只在方法调用期间存活 | 无默认值 |


5. 修饰符范围
public > proctected > 缺省 > private
| 本类 | 本同包 | 其他包的子类 | 全部 | |
| private | √ | × | × | × |
| 缺省 | √ | √ | × | × |
| protected | √ | √ | √ | × |
| public | √ | √ | √ | √ |



















