本文主要是介绍关于多态、绑定、反射、RTTI、反射,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
多态:消除类型之间的耦合关系(向上转型)
- 重写:运行时多态、引用类型的多态。
- 重载:编译时多态,方法的多态。
- 泛型多态:
绑定:将一个方法调用与一个方法主体关联起来
- 前期绑定
- 后期绑定(运行时绑定):Java中所有方法都是通过后期绑定实现多态。
RTTI(运行时类型识别,Run Time Type Identification):传统的RTTI通过继承和多态实现,在运行时通过调用超类方法来实现具体功能
传统RTTI的3种表现方式:
- 向上转型或向下转型
- Class对象(用了Class对象不代表就是反射,如果只用Class对象cast成指定的类,那么就还是传统的RTTI)
instanceof
关键字,或.isInstance()
方法。
反射,严格来说,也是一种形式的RTTI
反射与RTTI的真正区别只在于,RTTI在编译期打开和检查.class文件;而对于反射来说.class文件在编译期是不可获取的,所以是在运行时打开和检查.class文件(在运行时通过Class类来确定类型)。
这篇关于关于多态、绑定、反射、RTTI、反射的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!