远程接口必须至少扩展 java.rmi.Remote 接口(或其它扩展java.rmi.Remote 的远程接口)。然而,远程接口在下列情况中可以扩展非远程接口: 远程接口也可扩展其它非远程接口,只要被扩展接口的所有方法(如果有)满足远程方法声明的要求。 例如,下面的接口 BankAccount 即为访问银行帐户定义了一个远程接口。它包含往帐户存款、使帐户收支平衡和从帐户取款的远程方法: public interface BankAccount extends java.rmi.Remote { public void deposit(float amount) throws java.rmi.RemoteException. public void withdraw(float amount) throws OverdrawnException, java.rmi.RemoteException. public float getBalance() throws java.rmi.RemoteException. }
下例说明了有效的远程接口 Beta。它扩展非远程接口 Alpha(有远程方法)和 接口 java.rmi.Remote: public interface Alpha { public final String okay = "constants are okay too". public Object foo(Object obj) throws java.rmi.RemoteException. public void bar() throws java.io.IOException. public int baz() throws java.lang.Exception. }
public interface Beta extends Alpha, java.rmi.Remote { public void ping() throws java.rmi.RemoteException. }