读书人

The reflection of Java language (三)

发布时间: 2012-11-03 10:57:43 作者: rapoo

The reflection of Java language (3)

在远程方法调用中也经常使用到java的反射机制,一下举个远程方法调用的例子,假定在SimpleServer 服务器端创建了一个HelloServiceImpl对象,它具有getTime()和echo()方法。HelloServiceImpl类实现了HelloService接口。如例下例所示分别是HelloService接口和HelloServiceImpl类的代码:

?

?SimpleClient 调用SimpleServer 端的HelloServiceImpl 对象的echo()方法的流程如下:

?

(1)SimpleClient 创建一个Call 对象,它包含了调用HelloService 接口的echo()方法的信息。

?

(2)SimpleClient通过对象输出流把Call对象发送给SimpleServer。

?

(3)SimpleServer 通过对象输入流读取Call 对象,运用反射机制调用HelloServiceImpl对象的echo()方法,把echo()方法的执行结果保存到Call对象中。

?

(4)SimpleServer 通过对象输出流把包含了方法执行结果的Call 对象发送给SimpleClient。

?

(5)SimpleClient通过对象输入流读取Call对象,从中获得方法执行结果。如下例所示分别是SimpleServer 和SimpleClient 的源程序。

?

?

?import java.lang.reflect.Method;

 

读书人网 >编程

热点推荐