从 class 发送 class 到主 class

Sending a class to the main class from a class

我的代码当前设置为有 3 个 class 文件,main 和 tradeShip。 tradeShip 收到了另一个 class 文件,playerShip。在 tradeShip 代码中,我需要将 playerShip 发送回 main。代码如下:

public class tradeShip() {
  public void sell(playerShip player) {
    //unimportant code
    main.saveGame(player);
  }
}


public class main() {
  public void saveGame (playerShip player) throws IOException {
    //code that deals with writing to text files
  }
}

然而,这在 main.saveGame(player) 处给了我一个错误;它说 "unreported exception IOException; must be caught or declared to be thrown"

我不确定到底发生了什么,任何帮助将不胜感激!

保存游戏抛出异常(和错误) 你必须捕获并处理它:

try {
    main.saveGame(player); // throw exception
} catch (IOException e) {
    //some error processing
    e.printStackTrace();
}

或者声明 sell 也将其抛出以在上层捕获并处理它

 public void sell(playerShip player) throws IOException {

在 saveGame 方法的签名中,您抛出了一个 IOException,该方法的主体中并未引发该异常。所以也许你必须删除它,因为你可能已经在任何 catch 子句中管理它。

此外,只是为了澄清...所有 class 名称都必须大写(这是 java 编程的良好规则之一)并且您正在谈论的方法不需要收到 java class 但只是该对象类型的一个实例。