现在有一个模块中需要允许用户自定义扩展功能,就是我把基本实现的东西写好,然后有一些业务上的扩充就由其它人员去自己实现,我采取的方式是抽象类+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反射经典实例”中,我们将深入探讨这个主题,了解如何利用反射来访问和修改私有属性以及调用私有方法。 1. **反射的概念与用途** - 反射机制是在运行时分析类的能力,它允许我们获取类的信息(如类名、...
总结起来,Java动态调用实例展示了如何利用反射和接口来实现灵活的组件装配和运行时调用。这种方式在大型系统中特别有用,因为它允许代码适应变化,降低了维护和扩展的复杂性。同时,依赖注入通过解耦组件提高了代码...
在给定的代码中,`TestRef` 类展示了如何使用Java反射调用方法。首先,我们创建了一个 `Foo` 类,它有一个私有字符串成员变量 `msg` 和三个方法:`setMsg`、`getMsg` 和 `outInfo`。`main` 方法是演示反射调用的入口...
标题中的“Groovy和Java相互调用1”指的是在编程时如何在Groovy语言环境中调用Java类,以及反之,如何在Java程序中调用Groovy类。这是一种跨语言交互的方式,特别是在混合使用Groovy和Java的项目中非常常见。 ...
3. **设置访问权限**:由于私有方法默认是不可访问的,所以我们需要通过`setAccessible(true)`方法来改变其访问权限,允许反射调用。`privateMethod.setAccessible(true);` 4. **调用私有方法**:现在我们可以调用...
通过java类的路径实例化类并调用方法:仅仅知道类的路径,就可以实例化对象,利用反射机制调用其方法
在提供的"Java反射经典实例.htm"文件中,可能会包含具体的代码示例,演示如何使用反射创建对象、访问字段、调用方法等。结合文件中的内容,读者可以更深入理解反射的实际应用。 总结,Java反射机制提供了对运行时类...
Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java 8中,虽然没有引入重大的反射新特性,但原有的反射API仍然提供了丰富的功能,使得开发者...
在Java编程语言中,反射(Reflection)是一种强大的工具,它允许程序在运行时检查和操作类、接口、字段和方法等对象。枚举(Enumeration)是Java中的一个特殊类类型,用于定义一组常量。本项目"test-enum-demo-...
在Java项目中,引入编译后的Java类,并通过Java的反射机制或者直接实例化对象来调用Matlab的方法。调用时,你需要传递相应的参数,并接收返回结果。注意,由于Matlab和Java的数据类型不同,你可能需要进行数据类型的...
在提供的"java反射实例代码"中,应该包含了如何使用上述方法的实际示例,这些示例有助于加深对Java反射机制的理解。通过阅读和运行这些代码,开发者可以更直观地学习如何在程序运行时动态地操作类、方法和字段,从而...
在Java编程中,反射是一种强大的工具,它允许我们在运行时检查和操作类、接口、字段以及方法等...这些文件都是Java开发中的常见元素,与反射调用静态方法的主题直接关联性不大,但它们构成了一个完整的Java项目环境。
### Java反射机制与动态加载实例类 在Java中,反射是一种强大的工具,允许程序在运行时检查和修改其结构和行为。通过反射,我们可以动态地加载类、创建对象、访问和修改字段、调用方法等。本文将深入探讨Java反射...
Java反射调用是Java语言提供的一种强大的动态类型机制,它允许程序在运行时检查并使用类的信息,包括类的方法、属性以及构造器等。在Java中,反射是通过`java.lang.reflect`包中的类实现的,如`Class`、`Constructor...
Java反射机制是Java编程语言中的一个强大特性,它允许程序在运行时检查和操作类、接口、对象等的内部结构。通过反射,开发者可以动态地获取类的信息并调用其方法,创建对象,访问私有成员,甚至改变类的行为。在深入...
### 反射实例—JAVA反射机制 #### 一、反射概念及原理 反射在计算机科学领域,特别是程序设计中,是指程序有能力访问、检测和修改其自身的结构和行为。这一概念最早由Smith于1982年提出,并迅速应用于各种编程语言...
Java反射机制是Java编程语言中的一个强大特性,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。这个特性使得Java具有了高度的灵活性和动态性,尤其是在处理元数据、创建对象、调用私有方法...