Thinking in java-10

来源:互联网 发布:udid软件怎么破解 编辑:程序博客网 时间:2024/06/11 13:19

/*************************************************

function:java language Technology
author  :chinayaosir   QQ:44633197 
blog    :http://blog.csdn.net/chinayaosir
note    :禁止其它网站转载此文章

**************************************************/


第10章 类型检查

10.1为什么需要 RTTI
10.2RTTI语法
10.3反射运行时类信息
**********************************************************************
运行时类型识别RTTI(Run-time type identification,RTTI)的概念非常简单:
当只有一个指向对象基类的引用时,RTTI可以让你找出这个对象的确切类型.
RTTI有2种方式识别类型:
传统的RTTI:也就是在编译时和运行时就已经知道所有的类型是
反射的RTTI:也就是在编译时不清楚,在运行时才能知道的,即C++的动态绑定.

10.1为什么需要 RTTI
在多层的类继承树中,让代码只操作纵基类的引用,此方法在不同层次的类中调用,
都能正确的调用对应类的方法,从而产生类的类的多态行为,这就是要引入RTTI的主要原因.


10.2RTTI语法
Java是通过class对象来实现RTTI机制,class对象提供许多方式让我们使用RTTI
A.要获得class对象的引用,可使用class.forName()的方法.
B.要获得class对象的引用,可调用getClass()来获取class的引用.


10.3反射运行时类信息
如果不知道某个对象的确切类型,RTTI可以告诉你,如果此类型在编译时已知,RTTI才会识别它.
如果在编译时,编译器不知道这个类型是什么,那么运行时,RTTI也是不知道是什么!
RTTI有时候能提供代码的运行效率.

 

原创粉丝点击