Ah. Now I understand what you mean.
Consider the following code:
This code deals with two classes - MyRmiClass and Integer. If I understand you correctly, Integer would what you call "RMI object which does not implement remote".
This is a "marshalled object" (java.rmi.MarshalledObject) - the object sent between JVMs. The term "RMI object" (althought the techincally correct term would be "remote object) refers to an object available for remote method invocation, and is not applied to objects used as parameters.
Suggested reading:
RMI spec
2.2 Definition of Terms In the Java platform's distributed object model, a remote object is one whose methods can be invoked from another Java virtual machine, potentially on a different host. An object of this type is described by one or more remote interfaces, which are interfaces written in the Java programming language that declare the methods of the remote object.
Remote method invocation (RMI) is the action of invoking a method of a remote interface on a remote object. Most importantly, a method invocation on a remote object has the same syntax as a method invocation on a local object.
Hope this helps.
[ October 17, 2006: Message edited by: �dne Brunborg ]