`
JAVA天地
  • 浏览: 659932 次
  • 性别: Icon_minigender_1
  • 来自: 太原
文章分类
社区版块
存档分类
最新评论

JAVA中反射调用实例

阅读更多

现在有一个模块中需要允许用户自定义扩展功能,就是我把基本实现的东西写好,然后有一些业务上的扩充就由其它人员去自己实现,我采取的方式是抽象类+XML配置文件+反射

因为我要实现基本的功能,还必须要控制其它人员必须实现的功能,所以采用抽象类是最合适,因为在抽象类中可以有实现的方法及未实现的接口,这样其它的开发人员在继承该接口的时候,他们只需要实现自己的业务逻辑就可以,然后将他们写在配置文件中,我只需要每次根据接收到的取文处理码,到配置文件中查寻,如果有那说明其它开始人员有实现,则调用其它开发人员实现的方法,如果没有就调用默认的方法。

要达到这种效果,在不知道其它开发人员具体写什么类的情况下,最好的方式就是采用JAVA反射机制了,这样可以通过类的名称及方法名称去调用实现的业务方法,实现反射的代码如下:

见如下代码:

Object actionClass=null;

//取得被反射对象的实例
actionClass=Class.forName("com.A").newInstance();
//调用方法:callProcedure

//getMethod有两个参数,每个是方法名,第二个是参数的类数组,有参数就照下面的有,有多少写多少

//如果没有参数第二个参数就写成:new Class[]{}
Method callProcedure=actionClass.getClass().getMethod("callProcedure", new Class[]{String.class,String.class});

//假设调用的方法是不需要返回的,就写成下面这样直接调用就行,不发生异常就说明成功了:

callProcedure.invoke(actionClass, new Object[]{prcscd,message});

//如果有返回,需要强制转换,因为其默认返回为Object型的:

Element element=(Element)callProcedure.invoke(actionClass, new Object[]{prcscd,message});
具体反射的意思,可参见:http://zhidao.baidu.com/question/87612466.html

分享到:
评论

相关推荐

    java反射经典实例

    java反射经典实例 看完之后,基本满足你要做的事情,其中包括修改各种私有属性,调用私有方法的例子代码。简单干练。

    java反射调用实例代码

    该资源包含了一个利用反射执行的一些操作,包含了动态执行构造方法,动态运行私有方法,为属性初始化等等,简单易懂。

    通过java类的路径实例化类并调用方法

    通过java类的路径实例化类并调用方法:仅仅知道类的路径,就可以实例化对象,利用反射机制调用其方法

    Java动态调用实例

    自己编写的java调用实例,通过配置文件进行组件的装配,通过反射进行对象的创建,通过接口进行对象的调用。组件依赖的对象和对象的行为通过配置文件配置

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名

    java 通过反射获取枚举类,及枚举类的值,枚举类枚举实例名。本项目为普通java项目

    java 反射入门-属性方法调用实例

    NULL 博文链接:https://navylee.iteye.com/blog/729090

    反射实例反射调用DLL里的方法

    利用反射 调用以生成的DLL里的方法. 一个简单的实例清楚现实反射DLL

    Java反射和动态代理实例

    可以学习如何通过Java的反射机制实例化对象、调用对象的方法、操作对象的私有成员变量、改变数组中的某项的值、改变数组大小等;可以学习Java的动态代理模式、学习Java工厂模式以及如何将工厂模式与属性文件相结合。

    JAVA反射机制的入门代码

    代码为JAVA反射的一个DEMO,适合初学者临摹学习,还附有properties的创建方法,比较基础。

    Java 反射调用静态方法的简单实例

    下面小编就为大家带来一篇Java 反射调用静态方法的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java使用反射调用方法示例

    主要介绍了Java使用反射调用方法,结合实例形式分析了java使用反射调用对象方法的相关操作技巧,需要的朋友可以参考下

    Java基础 反射篇.md

    - 通过反射调用方法 - 反射的应用场景 - Spring 的 IOC 容器 - 反射 + 抽象工厂模式 - JDBC 加载数据库驱动类 - 反射的优势及缺陷 - 增加程序的灵活性 - 破坏类的封装性 - 性能损耗 - 反射基础篇文末总结 ...

    java反射大讲堂 实例源码下载

    这里是个人整理的Java反射大杂烩,里面有获取类的继承关系,类的属性,类的方法,调用类中的方法,给类中私有属性赋值。。。。一系列操作。

    Java反射根据不同方法名动态调用不同的方法(实例)

    下面小编就为大家带来一篇Java反射根据不同方法名动态调用不同的方法(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    《剑指offer》Java基础-反射篇.pdf

    Java基础 反射篇 ...通过反射调用方法 反射的应用场景 Spring 的 IOC 容器 反射 + 抽象工厂模式 JDBC 加载数据库驱动类 反射的优势及缺陷 增加程序的灵活性 破坏类的封装性 性能损耗 反射基础篇文末总结

    java中利用反射调用另一类的private方法的简单实例

    下面小编就为大家带来一篇java中利用反射调用另一类的private方法的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    基础深化和提高-java反射技术

    Java反射技术指的是在运行时动态地获取类的信息、调用对象的方法、操作类的属性等能力。通过反射,程序可以在运行时检查类、实例化对象、调用方法、获取和设置属性,甚至可以动态修改类的结构。 Java反射技术的核心...

    java中spring依赖注入的简单例子

    依赖注入早期叫控制反转 也可以称反射 他们的意义都相同 当某个 Java 实例 调用者 需要另一个Java 实例 被调用者 时 在传统的程序设计过程中 通常由调用者来创建被调用者的实例 而在依赖注入的模式下 创建被调用者的...

    Java经典编程源码基础例程300.zip

    实例075 动态调用类中方法 115 实例076 动态实例化类 116 实例077 创建长度可变的数组 117 实例078 利用反射重写toString()方法 119 第8章 字符串与包装类 121 实例079 将数字格式化为货币字符串 122 实例080 货币...

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

    3.2.1 Java反射机制的概念 Java反射机制在Java运行状态中,对于任意一个类,我们都能够知道这个类的所有属性和方法;, 对于任意一个对象,我们都能够调用它的任意一个方法;。 这种动态获取的信息以及动态调用对象...

Global site tag (gtag.js) - Google Analytics