`
qingfengxia
  • 浏览: 89340 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java中的Class对象

阅读更多

Java中的Class对象


Java中的Class对象- -

                                      

Java程序在运行时每个类都会对应一个Class对象,可以从Class对象中得到与类相关的信息,例如:

-----------------------------------------------------------------------

public class MyClass {

public static void main(String[] args) {

String name = "ZhuJun";

Class c = name.getClass();

System.out.println("getName: " + c.getName());

System.out.println("isInterface: " + c.isInterface());

System.out.println("isPrimitive: " + c.isPrimitive());

System.out.println("isArray: " + c.isArray());

System.out.println("SuperClass: " + c.getSuperclass().getName());

}

}

输出结果:

getName: java.lang.String

isInterface: false

isPrimitive: false

isArray: false

SuperClass: java.lang.Object

-----------------------------------------------------------------------

对于简单类型boolean, byte, char, short, int, long, float, double以及关键字void,可以通过类常量class取得对应的Class对象,例如:

-----------------------------------------------------------------------

public class MyClass {

public static void main(String[] args) {

System.out.println(boolean.class.getName());

System.out.println(boolean.class.isPrimitive());

System.out.println(void.class.getName());

}

}

输出结果:

boolean

true

void

-----------------------------------------------------------------------

Class类有一个forName()静态方法,可以根据传入的类名称(Class Name)得到相应类的实例,例如:

-----------------------------------------------------------------------

class TestClass {

void say(){

System.out.println("This is instance of TestClass"):

}

}

public class Main {

public static void main(String[] args) {

try {

Class c = Class.forName("TestClass");

TestClass testClass = c.newInstance();

testClass.say();

}

catch(ClassNotFoundException e) {

e.printStackTrace();

}

}

}

输出结果:

This is instance of TestClass
 

 

 

分享到:
评论
1 楼 byandby 2010-04-24  
Class类有一个forName()静态方法,可以根据传入的类名称(Class Name)得到相应类的实例 ? 得到实例?  真的?

相关推荐

    Java中Class对象详解共2页.pdf.zip

    Java中的Class对象是Java反射机制的核心,它代表了运行时的类信息。通过Class对象,我们可以在程序运行期间动态地获取类的各种属性、方法和构造器等信息,甚至可以实例化对象,使得Java具备了高度的灵活性和动态性。...

    Java中Class对象详解.docx

    ### Java中Class对象详解 #### 一、Class对象概述 在Java编程语言中,`Class`对象是一个非常重要的概念,它代表了Java中的一个类。每个加载到Java虚拟机(JVM)中的类都有对应的`Class`对象。通过`Class`对象,...

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

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

    java元数据——CLass类

    Class对象的创建发生在类加载(java.lang.ClassLoader)的时候,JVM加载一个类的时候首先创建Class对象,然后创建这个类的每个实例的时候都使用这个Class对象。 Class对象的作用是: 1. JAVA 使用 Class 对象来...

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

    ### JAVA反射机制——Class类与Class对象的获取 #### 概述 在Java语言中,反射是一种强大的功能,允许程序在运行时动态地检查和修改自身的行为。这种能力是通过`java.lang.Class`类实现的,它提供了封装类或接口...

    Java中的CLASS类Java中的CLASS类

    10.泛型与Class对象 泛型在Java中提供了类型安全,但编译后的字节码并不包含泛型信息。因此,即使在泛型类中,获取到的Class对象仍然不包含泛型信息。例如,`List<String>.class`实际上是`List.class`,这意味着在...

    java .class 类反编译软件

    Java编程语言以其跨平台、面向对象的特性深受开发者喜爱,但在某些情况下,我们可能需要将已编译的`.class`文件还原为可读的`.java`源代码,这就是所谓的反编译。在这种需求下,出现了专门用于反编译Java字节码的...

    简单了解JAVA中类、实例与Class对象

    加载完成后,JVM会为这个类创建一个Class对象,这个对象是类的唯一实例,在Java中这个Class对象是唯一的,并且与类的每个实例共享。 这个Class对象可以看作是类的“模板”,JVM通过这个模板来理解类的结构和行为。...

    Java中Class类工作原理详解

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

    JAXB工具类 xml转为java对象 java对象转为xml

    Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准API。它使得在Java应用程序中使用XML数据变得更加方便,无需手动编写大量的转换代码。本教程将详细介绍JAXB如何实现...

    java中Class.forName方法的作用详解

    Java中的`Class.forName()`方法是一个非常关键的工具,主要用于动态加载类。它的作用在于根据给定的类全名(包括包名)返回对应的`Class`对象。`Class`对象是Java反射机制的基础,它代表着运行时的类信息,可以通过...

    java解析class文件

    Java解析Class文件是Java开发中的一个重要环节,它涉及到对字节码的理解和处理。Class文件是Java编译器将源代码编译后的结果,包含了类的结构信息、方法定义、常量池等关键数据。理解并能解析Class文件,对于进行JVM...

    Java泛型的用法及T.class的获取过程解析

    最后,我们使用`getActualTypeArguments()`方法获取Type对象中的实际类型参数,然后将其强制转换为Class对象。 四、泛型的使用场景 泛型可以应用于多种场景中,例如: * 集合框架:泛型可以用于集合框架中,例如...

    Java面向对象精髓编程

    在Java中,对象是类(class)的实例。类定义了对象的属性(fields)和行为(methods)。 1. **类(Class)**:类是对象的蓝图,它描述了对象的属性和行为。例如,我们可以创建一个名为"Person"的类,包含姓名、年龄...

    Java反射获取class对象方式解析

    Java反射获取class对象方式解析是Java反射机制中的一种重要技术,它可以帮助开发者在运行时获取类的信息和对象实例。下面我们将通过示例代码详细介绍Java反射获取class对象方式解析的方法。 一、获取Class对象 在...

    java编译class文件

    要将`.java`文件编译成`.class`文件,我们需要使用Java的JDK(Java Development Kit)中的`javac`编译器。 以下是一般的编译步骤: 1. 安装JDK:首先,你需要在计算机上安装适合你操作系统的JDK版本。例如,对于...

    认识Java的Class类.doc

    1. **Class类对象的创建**:在Java中,我们不能直接创建Class对象,因为它的构造函数是private的。当我们加载一个类时,Java虚拟机(JVM)会自动创建对应的Class对象。类的加载可以通过以下几种方式: - 类的实例化...

    java实现面向对象

    面向对象编程(Object-Oriented Programming,简称OOP)是Java语言的核心特性,它通过模拟现实世界中的对象和类来组织代码,使程序设计更加结构化、模块化和易于维护。下面将详细介绍Java中面向对象的基本概念、核心...

    Json与java对象之间相互转换源码

    在Java中,我们经常需要将JSON字符串与Java对象进行相互转换,以便于数据的传输和处理。本篇文章将详细探讨这个过程,以及如何使用常见的Java JSON库,如Gson和Jackson,进行JSON与Java对象的转换。 首先,让我们...

Global site tag (gtag.js) - Google Analytics