`
DanielHan
  • 浏览: 57417 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
074641d7-eb86-343f-a745-65a0f693edb5
设计模式
浏览量:7378
社区版块
存档分类
最新评论

java中的Class类

阅读更多
      Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。
      Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个Class对象
      虚拟机为每种类型管理一个独一无二的Class对象。也就是说,每个类(型)都有一个Class对象。运行程序时,Java虚拟机(JVM)首先检查是否所要加载的类对应的Class对象是否已经加载。如果没有加载,JVM就会根据类名查找.class文件,并将其Class对象载入。
      基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也都对应一个 Class 对象。
      每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。
      一般某个类的Class对象被载入内存,它就用来创建这个类的所有对象。

获取Class实例的三种方式:
     (1)利用对象调用getClass()方法获取该对象的Class实例;
     (2)使用Class类的静态方法forName(),用类的名字获取一个Class实例;
     (3)运用.class的方式来获取Class实例;

 public class ClassTest {
 public static void main(String [] args)throws Exception{
 String str1="abc";
 Class cls1=str1.getClass();
 Class cls2=String.class;
 Class cls3=Class.forName("java.lang.String");
 System.out.println(cls1==cls2);
 System.out.println(cls1==cls3);
 }
 }

返回结果为:true,true.
分享到:
评论

相关推荐

    Java中Class类工作原理详解

    在运行时,当我们想生成这个类的对象时,运行这个程序的 Java虚拟机(JVM)首先检查这个类的Class对象是否已经加载。如果尚未加载,JVM就会根据类名查找.class文件,并将其载入。 一旦某个类的Class对象被载入内存...

    Java中Class类的作用与深入理解

    Java中Class类的作用与深入理解 Java中Class类是一个非常重要的类,它提供了许多有用的方法来获取类的信息和创建对象。在程序运行期间,Java运行时系统始终为所有的对象维护一个被称为运行时的类型标识,称为Class...

    java .class 类反编译软件

    在这种需求下,出现了专门用于反编译Java字节码的工具,例如XJad,它是一个古老的类反编译器,可以将`.class`文件转换回`.java`源代码格式。 首先,我们需要理解Java的编译过程。当开发者编写完`.java`源代码后,会...

    Java中的CLASS类Java中的CLASS类

    总结,Java中的Class类是Java反射机制的核心,它代表了运行时的类信息。通过Class对象,我们可以动态加载类、创建对象、访问类的成员,实现运行时的灵活性和动态性。了解并熟练掌握Class类及其相关方法,对于理解和...

    Java中通过Class类获取Class对象的方法详解

    "Java中通过Class类获取Class对象的方法详解" Java中获取Class对象是Java基础知识中的一个重要部分,通过Class类可以获取Class对象,Class对象是Java虚拟机在加载类时自动构造的。下面将详细介绍通过Class类获取...

    java元数据——CLass类

    Java中的元数据Class类是一个基础的概念,它代理了这个类的类型信息、方法签名、属性等信息。每个类都有一个Class对象,它用来创建这个类的所有对象。每个对象的创建都依赖于Class对象的创建,而Class只有一个私有的...

    学习Java中Class类及其用法

    Java中的Class类是Java反射机制的核心,它代表了运行时的类信息。了解Class类的原理和用法对于深入理解Java动态类型特性和实现高级功能至关重要。以下将详细阐述Class类的相关知识点: 1. **Class类原理** - 每个...

    java.class 反编译工具

    Java 类文件(.class)是Java程序编译后的二进制格式,包含了程序的字节码,用于JVM(Java虚拟机)执行。反编译工具则是将这些字节码转换回可读的源代码(.java文件),帮助开发者理解已有的类库或研究别人的代码。...

    Java常用工具类UtilClass

    在Java编程中,工具类(Util Class)是包含各种实用函数的静态类,它们提供了一种简化常见任务的方法。在给定的`UtilClass`中,我们有五个主要的工具类:`StringUtil`、`FileUtil`、`ConnectDB`、`DateUtil`和`...

    认识Java的Class类.doc

    Java的Class类是Java反射机制的核心,它代表了Java中的每一个类和接口。Class类的主要功能是提供关于类的信息,包括类的结构、属性、方法等。以下是对Java Class类的详细说明: 1. **Class类对象的创建**:在Java中...

    Java类动态加载(一)——java源文件动态编译为class文件

    这篇博客“Java类动态加载(一)——java源文件动态编译为class文件”可能主要探讨了如何在运行时将Java源代码(.java)编译成对应的字节码文件(.class),并将其加载到Java虚拟机(JVM)中。以下是对这个主题的详细解析...

    Java类class反编译工具

    Java类class反编译工具是开发者在理解和学习Java字节码或者进行逆向工程时必不可少的辅助工具。这些工具能够将已经编译过的.class文件转换回可读性强的.java源代码,帮助我们查看和理解已有的Java类结构,尤其是在...

    java class文件查看工具

    Java Class文件是Java源代码经过编译器处理后的二进制形式,它们包含了程序的结构信息,如类、接口、变量、方法等定义。在Java开发过程中,有时我们需要查看或分析这些Class文件,以理解程序运行原理、调试或逆向...

    Java中的Class类

    换言之,每当编写并且编译了一个新类,就会产生一个Class对象(恰当地说,是被保存在一个同名的.class文件中)。在运行时,当我们想生成这个类的对象时,运行这个程序的Java虚拟机(JVM)首先检查这个类的Class对象...

    浅谈Java中的class类

    在Java编程语言中,`Class`类扮演着至关重要的角色,它是Java反射机制的基础。`Class`类代表了运行时的类信息,允许我们在程序运行时动态地获取类的结构和属性,包括类的成员变量、方法、构造器等。这使得Java具备了...

    java .class反编译成.java工具

    在Java编程中,程序员编写的是.java源代码文件,这些文件经过Java编译器(javac)编译后,会生成对应的.class文件,这是Java虚拟机(JVM)能够执行的二进制格式。然而,由于编译过程会丢弃源代码信息,.class文件...

    java class reload

    Java 类的热重载(Hot Deployment)或热替换(Hot Swap)是开发过程中非常实用的功能,它允许开发者在不重启应用程序服务器(如Tomcat)的情况下更新已部署的类,从而提高开发效率。在这个例子中,我们将探讨如何在...

    JAVA反射机制-Class类-Class对象的获取.pdf

    `java.lang.Class`是一个特殊的类,它用来封装已经被加载到Java虚拟机(JVM)中的类和接口的信息。每当一个类或者接口被加载到JVM中时,就会创建一个与之关联的`java.lang.Class`对象。通过这个`Class`对象,我们可以...

    Java的class反编译工具

    在Java编程环境中,源代码会被编译成字节码(.class文件),这些字节码是机器不可读的,但是可以由Java虚拟机(JVM)执行。然而,有时我们需要查看或分析这些编译后的类文件,这时候就需要借助反编译工具。 标题中...

Global site tag (gtag.js) - Google Analytics