| 目次|前|次 | Java Remote Method Invocation | 
java.rmi.server.UnicastRemoteObjectを拡張することによりjava.rmi.server.RemoteObjectやjava.rmi.server.RemoteServerクラスが提供するリモート動作を継承する。BankAcctImplはBankAccountリモート・インタフェースを実装し、java.rmi.server.UnicastRemoteObjectクラスを拡張しています。
package mypackage;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
public class BankAccountImpl
        extends UnicastRemoteObject
        implements BankAccount
{
        private float balance = 0.0;
        public BankAccountImpl(float initialBalance) 
                throws RemoteException 
        {
                balance = initialBalance;
        }
        public void deposit(float amount) throws RemoteException {
                ...
        }
        public void withdraw(float amount) throws OverdrawnException,
                RemoteException {
                ...
        }
        public float getBalance() throws RemoteException {
                ...
        }
}
注意:
java.rmi.server.UnicastRemoteObject以外のいくつかのクラスを拡張できます。ただし実装クラスは、オブジェクトのエクスポート(UnicastRemoteObjectコンストラクタによって処理される)、およびjava.lang.Objectクラスから継承されるhashCode、equals、およびtoStringメソッドの正しいリモート・セマンティクスの実装(必要な場合)に対する責任を負わなければなりません。RMIClientSocketFactoryおよびRMIServerSocketFactory型のパラメータを含まないバージョンのUnicastRemoteObject.exportObjectメソッドまたはUnicastRemoteObjectコンストラクタを使用してオブジェクトをエクスポートすると、リモート・オブジェクトはすべてのローカル・アドレスにエクスポートされます。リモート・オブジェクトを特定のアドレスにエクスポートするには、「RMIソケット・ファクトリ」を参照してください。