没弄明白楼主说什么!
如果在rmi中,客户端得到的是一个指向实现服务器端接口类的引用,在客户端,我们通过查询获得这个远程被绑定的对象,用远端接口来来代表这个引用!
不明白 "当用Proxy产生一个代理类时,这个代理类的.class文件不会产生。"是什么意思!

解决方案 »

  1.   

    不好意思,我说的不够清楚。举例来说,我编写了两个接口,talk和say,分别有一个talk()和say()方法。然后我调用Proxy.newProxyInstance(talk.class.getClassLoader(),new Class[]{talk.class,say.class},
                                                                   InvocationHandlerIml)方法,该方法返回一个类,这个类时运行时生成的。该类实现了talk和say两个接口,但这个类是不会有.class文件的,对吧?(你们可以试试)我试过,将这个可序列化的类写进一个文件中。我发现,要将这个类反序列化,共需要三个类文件:
    talk接口的类文件,say接口的类文件,和InvocationHandlerIml(InvocationHandler接口的实现类)的类文件,并不需要这个序列化类的类文件。而对于一般的序列化的类要想反序列化,必须要有该类的类文件(即.class文件),难道Proxy产生的动态代理类特殊吗?