`
steven2011
  • 浏览: 31764 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Java利用反射动态加载类实战

 
阅读更多
packagecom.web.common.utility.reflector;

importjava.io.Serializable;
importjava.lang.reflect.Constructor;
importjava.lang.reflect.Method;

/***//**
*@comany阿斯达克(上海)深圳分公司
*
@authorsteven.wu
*@date2008-4-21
*@description利用反射动态加载类,并调用其方法执行。
*/

publicclassReflectorFactoryimplementsSerializable...{
publicReflectorFactory()...{
//TODOAuto-generatedconstructorstub
}


publicObjectnewInstance(StringclassName)throwsException...{
Classc
=Class.forName(className);
returnc.newInstance();
}


publicObjectnewInstance(StringclassName,Object[]args)throwsException...{
Classc
=Class.forName(className);
Class[]argsClass
=newClass[args.length];
for(inti=0,j=args.length;i<j;i++)...{
argsClass[i]
=args[i].getClass();
}

Constructorcons
=c.getConstructor(argsClass);
returncons.newInstance(args);
}


//判断是否为某个类的实例
publicbooleanisInstance(Objectobj,Classcls)...{
returncls.isInstance(obj);
}

//执行无参数方法.
publicObjectinvokeMethod(Objecto,StringmethodName)
throwsException...{
Classc
=o.getClass();
Methodmethod
=c.getDeclaredMethod(methodName);
returnmethod.invoke(o);
}

//执行有参数方法.
publicObjectinvokeMethod(Objecto,StringmethodName,Object[]args)
throwsException...{
Classc
=o.getClass();
Class[]argsClass
=newClass[args.length];
for(inti=0,j=args.length;i<j;i++)...{
argsClass[i]
=args[i].getClass();
}

Methodmethod
=c.getMethod(methodName,argsClass);
returnmethod.invoke(o,args);
}

}

分享到:
评论

相关推荐

    Java反射、泛型和注解实战之Spring核心注入IOC的实现

    通过这个实战项目,你可以深入理解Java反射、泛型和注解的用法,并且了解到如何利用它们构建一个基本的依赖注入系统,这将有助于你更好地理解和使用Spring框架。同时,这样的实践也有助于提升你的编程技能,使你能够...

    在Java中使用反射API的一个实例

    总的来说,Java反射API提供了一种强大而灵活的方式,使得开发者能够在运行时检查和操作类的内部细节,这对于动态加载类、处理未知对象类型、调试和测试等方面都有很大的帮助。然而,由于其对安全性和性能的影响,...

    JDBC_Java反射技术入门

    在这个“JDBC_Java反射技术入门”资源中,初学者可以了解到如何使用Java进行数据库操作的基础知识,包括连接数据库、执行SQL语句、处理查询结果等。 1. **JDBC基础**: - **加载驱动**:在使用JDBC之前,我们需要...

    Java高级程序设计实战教程第三章-Java反射机制.pptx

    Java反射机制是Java编程语言中的一个强大工具,它允许程序在运行时检查和操作类、对象、字段和方法。在本教程中,我们将深入探讨Java反射机制的核心概念、功能、API以及应用场景。 **3.1 应用场景** 反射机制在...

    名师讲坛——Java开发实战经典 带详细书签目录版

    8. **反射机制**:探究Java运行时动态加载类、方法和字段的能力,以及其在元编程中的应用。 9. **泛型**:理解泛型的引入,如何使用泛型类、泛型方法,以及泛型通配符的使用。 10. **Java Swing和AWT**:基础的GUI...

    Java开发技术大全 Java开发实战经典下载地址

    4. **Java虚拟机(JVM)原理**:了解JVM的工作机制,包括内存管理、垃圾回收、类加载过程等,优化应用程序的性能。 5. **单元测试与持续集成**:掌握JUnit等测试框架的使用,实施自动化测试和持续集成,确保代码质量...

    疯狂java实战讲义源码

    8. **反射机制**:理解并运用Class类,动态加载类,以及创建和调用对象的方法。 9. **设计模式**:源码中可能会包含单例模式、工厂模式、观察者模式等多种经典设计模式的实例。 10. **JDBC数据库编程**:了解如何...

    java 反射 线程ppt

    Java反射API包含在`java.lang.reflect`包中,主要包括Class类、Constructor类、Method类和Field类。通过Class对象,我们可以获取类的信息,如类名、父类、接口、构造器、方法和字段等。例如,`Class.forName("类全名...

    疯狂JAVA实战演义

    JAVA反射机制允许在运行时动态地获取类的信息并操作类的对象,这对于插件系统、元编程和调试都有重要作用。书中会探讨反射的使用及其背后的机制。 最后,理解JVM(JAVA虚拟机)的工作原理对于优化JAVA程序至关重要...

    Java从入门到项目实战【配套资源】自测题目.rar

    7. **反射机制**:Java反射机制允许在运行时动态访问类的信息,如类名、方法名、参数类型等,从而实现动态加载类、调用方法等功能。这对于理解和编写工具类或插件化系统非常有用。 8. **JVM原理**:理解Java虚拟机...

    Java软件开发实战 Java基础与案例开发详解 15-3 反射与动态代理 共11页.pdf

    ### Java软件开发实战:反射与动态代理 #### 反射技术概述 反射是Java中一项强大的功能,允许程序在运行时获取类的信息并操作类的对象。这种能力在编写需要高度灵活性的应用程序时非常有用,例如在框架开发中,...

    Java课后实战训练源码.zip

    在本压缩包“Java课后实战训练源码.zip”中,包含了多个章节的Java源代码,这些代码主要是为初学者设计,旨在帮助他们通过实践来加深对Java编程语言的理解和运用。下面将针对每个章节的可能涉及的知识点进行详细的...

    Java开发实战1200例(第1卷)

    另外,本书还将涉及Java的反射API,这在动态加载类、修改对象行为以及实现元编程时非常有用。 除此之外,本书还会介绍Java的泛型、枚举、注解等特性,这些都是现代Java编程不可或缺的部分。同时,读者还能学习到...

    Java实战开发pdf(李兴华)

    7. **反射机制**:介绍Java反射API,用于在运行时动态获取类的信息并操作类的对象,这在框架设计中尤其重要。 8. **Java IO/NIO**:对比讲解传统的IO模型和非阻塞IO模型,以及如何利用NIO进行高效的数据传输。 9. ...

    清华大学java典型模块与项目实战源代码

    通过学习这些模块,你可以掌握如何高效地读写文件、实现并发操作、处理网络请求、管理和操作数据结构以及利用动态类加载等高级特性。 清华大学作为国内顶级学府,其教学资源的质量有很高的保证。这个实战项目涵盖了...

    java开发实战1200例

    6. **反射机制** (Chapter 25): 反射允许在运行时检查类、接口、字段和方法的信息,并能动态调用方法,创建对象。这一章会讲解如何使用Class类、Constructor类、Method类等。 7. **JDBC数据库访问** (Chapter 26): ...

    Java开发实战经典(名师讲坛)

    包括反射、注解、枚举、动态代理等高级特性,这些在现代Java开发中扮演着重要角色。通过学习,读者可以更深入地理解Java的内在机制。 十、Java开发工具和实践 介绍Eclipse、IntelliJ IDEA等主流IDE的使用,以及...

    疯狂java实战演绎

    10. **反射与注解**:Java反射机制允许在运行时检查类的信息,而注解可以用于代码的元数据,这两部分在很多高级应用中都有所体现。 11. **Java虚拟机(JVM)**:理解JVM的工作原理,包括类加载、内存模型、垃圾回收...

Global site tag (gtag.js) - Google Analytics