您的位置:首页 > 编程语言 > Java开发

Thinking in Java——第十四章-类型信息

2016-08-22 10:45 141 查看
这篇blog只是为了我个人自己理解,不做分享。但是如果亲爱的你有问题,欢迎讨论~


这里的类型信息主要是将的运行时类型信息。

运行时类型信息主要有两种方式:

1、传统的RTTI,即Runtime Type Information

2、反射

一、RTTI

RTTI的定义是:在运行时识别一个对象的类型

迄今为止,我们知道的RTTI形式包括

1、传统的类型转换,如多态中的例子(shape),由RTTI确保类型转换的正确性,如果执行了错误的类型转换,就会抛出一个ClassCastException异常

2、代表对象的类型的Class对象。

当我们生成一个类,并编译它,这个类就会有一个.class文件。我们可以通过加载这个文件产生代表具体对象类型的Class对象。我们可以通过查询Class对象获取运行时所需要的信息。

3、instance of(向下转型)

二、反射

反射跟RTTI的不同之处就是RTTI是编译时打开和检查.class文件。而反射是运行时打开和检查.class文件。

一个关于运行时类型信息的实例

关于工厂模式的一片blog
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 类型信息