静态分派与动态分派
1. 静态类型[外观类型] => 方法执行版本 => 编译期确定
2. 实际类型 => 方法执行版本 => 运行期确定
静态解析与动态连接
1. 静态解析:符号引用(class 文件中能无歧义的定位到目标的一串符号),有一部分会在类加载阶段或者第一次使用阶段就转化为直接引用(指针,相对偏移量,间接定位的句柄)
2. 动态连接:另一部分在每一次运行期间转化为直接引用
重载与重写
1 分派
Java 重载 => 静态分派
Java 重写 => 动态分派
2
2.1 重载
- 方法名相同,参数类型、参数个数、不同
- 多态
2.2 重写
- 基于继承关系,子类重写父类方法,通过动态绑定(方法名,返回值类型,参数 相同)实现
- 子类访问修饰权限不能少于父类