总结
接口
- 接口:和类相似的结构,提供规范,但不完成功能,会产生字节码文件
- 接口和类的区别:
- 类中:成员变量、普通方法、静态方法、构造方法
- 接口:成员变量(要赋值才行,默认public static final修饰)、静态方法(jdk1.8之后)、抽象方法(默认public abstract修饰)
- 类与接口的关系:
- 类可以实现多个接口
- 一个类继承一个类和实现一个接口时,继承关系要在接口关系前
- 接口与接口的关系:
- 多继承
- 多重继承
- 类与类的关系:
- 单继承
- 多重继承
多态
-
多态:屏蔽类与类之间的差异性,提高扩展力
- 类与类:父类类型 变量名 = new 子类类型();
- 类与接口:接口类型 变量名 = new 实现类类型();
-
多态的执行:
编译看左边,运行看右边
-
注意:static修饰的编译运行都看左边
类型转换判断
-
类型转换判断:
-
a instanceof A 判断a是A的对象
-
获取字节码对象
对象名.getClass();
类名.Class();
-
jvm类加载的过程
-
加载:字节码文件加载到jvm中
-
验证:验证字节码文件是否为真正的java文件
-
准备:static修饰的就会优先加载进去 准备内存空间
final修饰的变量 会在此阶段赋值 -
解析 :
-
初始化:就是为那些变量赋予初始值
jvm加载类:
- 类加载器:
- 启动类加载器 拓展类加载器 应用程序类加载器 自定义类加载器