==== 8.1.1 Remote Objects ==== A remote object is one whose remote methods can be invoked remotely from the CAD client. A remote object is described by one or more remote interfaces. A remote interface is an interface that extends, directly or indirectly, the interface **java.rmi.Remote**. The methods of a remote interface are referred to as remote methods. A remote method declaration includes the exception **java.rmi.RemoteException** (or one of its superclasses such as **java.io.IOException** or **java.lang.Exception**) in its **throws** clause. Additionally, in the remote method declaration, a remote object declared as the return value must be declared as the remote interface, not the implementation class of that interface. Java Card RMI imposes additional constraints on the definition of remote methods. These constraints are a result of the Java Card platform language subset and other feature limitations.