你这个见解就不是很正确,比如,服务器端有很多类,但有些类本来就是服务器端和客户端公用的。举个例子,服务器端是用来访问database,你定义了一个DB.java的类,当然,这个类是关键的,对客户来说应该屏蔽,因此,这个类不应该导出到客户端;但是,又有一个叫DBRecord的类,是用来封装数据库的记录的,那么,这个类就应该可以导出到客户端,因为它不涉及到数据库访问的细节。举例:
public intreface DBInterface extends Remote{
public DBRecord getRecord() throws RemoteException{
}
}
如果客户端没有DBRecrord这个类,在调用这个方法的时候编译是无法通过的。一个解决办法是,你也可以定义一个common包,来把客户端和服务器端共享的类都放在这个包里头,这样就可以确保安全性。但是,由于包之间有访问控制权限,因此必须要合理的分配类的布局。那种认为服务器包里头的任何类都不为其他包,比如客户包共享的想法绝对是错误的。
public intreface DBInterface extends Remote{
public DBRecord getRecord() throws RemoteException{
}
}
如果客户端没有DBRecrord这个类,在调用这个方法的时候编译是无法通过的。一个解决办法是,你也可以定义一个common包,来把客户端和服务器端共享的类都放在这个包里头,这样就可以确保安全性。但是,由于包之间有访问控制权限,因此必须要合理的分配类的布局。那种认为服务器包里头的任何类都不为其他包,比如客户包共享的想法绝对是错误的。
我的意思是,实现接口时可以不抛出这个异常,编译是完全正常的,我的意思是假如不抛出这个异常,会有什么结果。比如rmic无法编译这个文件?或者客户无法访问,我问的是结果,不是它的必要性。