• Java RTTI(类型信息)(.class 类对象)


    RTTI:Run-Time Type Information,关键词在 Run-Time,运行时的,而非编译期确定的关于类型的信息。运行时的类型信息(RunTime Type Information)使得可在程序运行时发现、识别和使用类型信息。

    Java 在运行时识别对象和类的信息,主要包括以下两种方式:

    • “传统的”RTTI,假定我们在编译期即已知道所有的类型;
    • “反射”机制,允许在运行时发现和使用类的信息;

    1. RTTI 与类型转换

    在 Java 中,所有的类型转换都是在运行时进行正确性检查的,这也正是 RTTI(Run-Time Type Information)名字的含义:在运行时,识别一个对象的类型;

    2. Class 对象

    为了理解 RTTI 在 Java 中的工作原理,还必须知道类型信息在程序运行时是如何表示的。这项工作便是交由 Class 对象(特殊对象)完成,其包含了与类有关的信息。事实上,Class 对象便是用来创建类的所有常规对象的。

    类是程序的一部分,每个类都有一个 Class 对象。换言之,每当编写并且编译了一个新类,就会产生一个 Class 对象(更具体地讲,便是保存在一个同名的 .class 文件中)。为了生成该类对象,运行该程序的 JVM 将使用被称为“类加载器”的子系统。

    3. 类对象(Class object)

    What does .class mean in Java?

    类名后的 .class是对类对象(Class object)的引用,用以表示该类。如下代码:

    Print myPrint = new Print();
    System.out.println(Print.class.getName());
    System.out.println(myPrint.getClass().getName());
    • Print.class:便是用以表示运行时(runtime)Print类的对象(object)
  • 相关阅读:
    【转】Redis和Memcache对比及选择
    Ubuntu下php环境的搭建
    【HTML和CSS】总结
    【python】 The different between ' %r ' and ' %s '
    Learn Python The Hard Way
    Vim 插件配置及快捷键
    sublime-text 插件配置
    mysql-5.7在CentOS-7下的rpm安装
    oracle pdb基本管理
    Oracle 12cR2 Installation On CentOS-7
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9421309.html
Copyright © 2020-2023  润新知