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