`
wangyun
  • 浏览: 120415 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RTTI与反射

    博客分类:
  • Java
阅读更多

      RTTI 的中文意思是“运行时类型识别”。在Java 中是通过Class 对象实现并且在使用“instanceof”操作符时也用到了RTTI。首先instanceof 操作符和Class对象有什么区别呢?instanceof 操作符用于判断对象的类型是否是指定的类型或其继承类,而Class需要通过isInstance 或isAssignableFrom 两个方法来判别,如果使用equals或着“==”操作符是无法判别两个类型的继承关系的。我想这也许就是这两个RTTI 最大的区别吧。

      接着就要说说反射机制了,它与RTTI 有个最重要的区别:RTTI识别类型必须在编译时是已知的,而反射却不需要,它可以在程序运行时加载这个类型。Java 的反射机制主要是通过Java 的java.lang.reflect 包实现的。这里我不做RTTI和反射的深入研究。只是简单的介绍两个机制和两个机制间的区别。谢谢大家。

分享到:
评论
1 楼 zjhzjf000 2010-09-09  
            

相关推荐

    Java的RTTI和反射机制代码分析

    主要涉及了Java的RTTI和反射机制代码分析的相关内容,在介绍运行时类型识别的同时,又向大家展示了其实例以及什么时候会用到反射机制,内容丰富,需要的朋友可以参考下。

    RTTI:Rtti(反思)实践

    Rtti(反思)实践此回购包含rtti(反射库)实践

    反射动态调用DLL方法,含参数

    利用反射动态调用DLL方法,可录入参数。

    JAVA的反射机制与动态代理.pdf

    JAVA的反射机制与动态代理运行时类型信息(RunTime Type Information,RTTI)使得你在程序运行时发现和使用类型 信息。RTTI主要用来运行时获取向上转型之后的对象到底是什么具体的类型。

    举例讲解Java的RTTI运行时类型识别机制

    主要介绍了Java的RTTI运行时类型识别机制,包括泛化的Class引用以及类型检查instanceof等知识点,需要的朋友可以参考下

    深入理解Java反射

     理解RTTI在Java中的工作原理,首先需要知道类型信息在运行时是如何表示的,这是由Class对象来完成的,它包含了与类有关的信息。Class对象是用来创建所有“常规”对象的,Java使用Class对象来执行RTTI,即使你正在...

    .net中 关于反射的详细介绍

    概述反射• 通过反射可以提供类型信息,从而使得我们开发人员在运行时能够利用这些信息构造和使用对象。 • 反射机制允许程序在执行过程中动态地添加各种功能。 运行时类型标识 •运行时类型标识(RTTI),可以在程序...

    深入理解Java类型信息(Class对象)与反射机制

    本篇主要是深入对Java中的Class对象进行分析,这对后续深入理解反射技术非常重要,主要内容如下:认识Class对象之前,先来了解一个概念,RTTI(Run-TimeTypeIdentification)运行时类型识别,对于这个词一直是C++中...

    C++ 反射机制详解及实例代码

    然而C++是不支持反射机制,虽然C++有RTTI(运行时类型识别)。但是想要实现C++对象序列化,序列化就是存储到磁盘上,将对象变成一定格式的二进制编码,然后要用的时候再将保存在磁盘上的二进制编码转化成一个内存中的...

    ThinkinJava4thEdition

    code.classInfo 类型信息 DONE Rtti/反射 code.innerClass 内部类 code.string 字符串 DONE code.container 容器 DONE code.IO java IO系统 code.enum 枚举 code....

    Java的关键知识点

    想成为JAVA高手,至少要非常熟悉并能自如地应用这四个知识点:序列化机制、RTTI机制、CALLBACK机制、反射机制。本文将为大家详细介绍Java的关键知识点。

    Delphi学习路径及各阶段实例

    随着学习深入,还可以探索更多高级特性,比如反射、RTTI(运行时类型信息)、ORM框架(如DataSnap、FireDAC)以及跨平台开发(如使用FMX框架)。同时关注官方文档和社区论坛以获取最新特性和最佳实践。

    java联想(中文)

    11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有克隆能力 ...

    Thinking in Java(中文版 由yyc,spirit整理).chm

    11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有克隆能力 ...

    JAVA_Thinking in Java(中文版 由yyc,spirit整理).chm

    11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有克隆能力 ...

    compex:用于以机器可读格式转储 C++ 类型信息的 GCCclang 编译器插件

    复杂的compex 为 GCC 和 clang 提供插件,用于从 C++ 中提取类型信息。 该插件本身以 YAML 格式转储有关结构、字段和方法的信息,使您可以轻松地使用 C++ ... compex 与 C++ RTTI ( dynamic_cast ) 完全无关,也不需要

    Thinking in Java 中文第四版+习题答案

    11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有克隆能力 12.2.4...

    Think in Java(中文版)chm格式

    11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有...

    JAVA_Thinking in Java

    11.3 反射:运行期类信息 11.3.1 一个类方法提取器 11.4 总结 11.5 练习 第12章 传递和返回对象 12.1 传递句柄 12.1.1 别名问题 12.2 制作本地副本 12.2.1 按值传递 12.2.2 克隆对象 12.2.3 使类具有克隆能力 ...

Global site tag (gtag.js) - Google Analytics