Java com.sun.proxy.$Proxy1无法强制转换为

Java com.sun.proxy.$Proxy1无法强制转换为,java,casting,rmi,Java,Casting,Rmi,GameV1游戏 public void connect() { connect("//localhost/Game"); if (getServer() != null) { game= (GameV1) getServer(); } } 此方法“connect(“//localhost/Game”);”只需将服务器设置在upperclase上,然后将其强制转换为GameV1 游戏=界面 GameV1=带有游戏工具的具体类 如果(getServ

GameV1游戏

  public void connect() {
    connect("//localhost/Game");
    if (getServer() != null) {
        game= (GameV1) getServer();

    }

}
此方法“connect(“//localhost/Game”);”只需将服务器设置在upperclase上,然后将其强制转换为GameV1 游戏=界面 GameV1=带有游戏工具的具体类

如果(getServer()!=null) 这将返回true,但在强制转换时会出现此错误
com.sun.proxy.$Proxy1不能通过RMI远程对象强制转换到GameV1,而不能强制转换到具体类。您必须强制转换到远程接口。

该错误非常具有指示性。您正在两种不兼容的类型之间进行强制转换。查看GameV1对象的层次结构;它实现了正确的接口吗?我什么时候浇筑混凝土?当我在客户机中接收到对象时?如果您正在向客户机发送实际对象,那么您可以在客户机中强制转换为其类型,是的。但是如果您只是向客户端发送一个远程引用,那么不是。您不知道该方法调用什么?您的评论中缺少一个词。我现在已转换为interface,但仍然得到异常com.sun.proxy。无法将$Proxy1转换为servidor。游戏包含服务器中的所有类,并非所有类都命名为remote或serializable。这可能是问题的根源吗???哪个异常?哪个界面?你读过一些RMI教程来检查你应该做什么吗?也许你应该先尝试一个简单的RMI程序,然后尝试做一些更高级的事情。