标签:解析 运行时 csdn test 对象引用 vpd 地址 加载 pre
编译时多态->方法重载
运行时识别对象和类的类型信息方法:
RTTI: 在编译时获取对象的类型信息.
多态:
两种实现方式
extends
)implements
)核心:声明是父类类型或接口类型,创建的是实际类型.
示例:
List list = new ArrayList(); // 声明是父类List,创建的是子类ArrayList.
public void test(List list); // 方法参数使用父类或接口.
优点:
功能:
使用父类的指针或引用来检查指针或引用所指向的对象的实际派生类型.
实现:
通过Class类文件的方法表实现.
Class类:"类的类".
.class
文件.示例:
class father{}; // 父类
class son extends father{}; // 子类
father p = new son(); // 父类引用指向子类
Class c = p.getClass(); // c为子类son类型
Object
类的方法,接下来存放当前类的父类的方法,最后存放该类的方法.invokestatic
调用.invokespecial
调用.invokevirtual
和invokeinterface
调用的当法存在.多态的机制:
小结:
标签:解析 运行时 csdn test 对象引用 vpd 地址 加载 pre
原文地址:https://www.cnblogs.com/truestoriesavici01/p/13217290.html