gpt4 book ai didi

java - 返回多个java类

转载 作者:行者123 更新时间:2023-12-01 19:40:22 25 4
gpt4 key购买 nike

因此,我尝试为游戏编写 API,并创建了 4 个不同的类,分别名为 ShipScanStage0、ShipScanStage1、ShipScanStage2、ShipScanStage3,我想在此类中返回它们。

我尝试将 getScanStageInfo 的返回类型设置为 Object,但这不是我正在寻找的解决方案,我想要一种干净、简单的方式让 API 用户访问 scanStage 并使用它的信息。

ShipTargetedEvent.java

package org.xenodev.edj.events;

import org.xenodev.edj.Event;
import org.xenodev.edj.events.storage.ShipScanStage0;

public class ShipTargetedEvent extends Event {

int scanStage;

public ShipTargetedEvent(String timestamp, int scanStage) {
super(timestamp);
this.scanStage = scanStage;
}

public void getScanStageInfo() {
if(scanStage == 0) {
return new ShipScanStage0();
}else if(scanStage == 1) {
return new ShipScanStage1();
}else if(scanStage == 2) {
return new ShipScanStage2();
}else if(scanStage == 3) {
return new ShipScanStage3();
}
}

}

我希望实现用户只能访问来自 StageScan 级别的信息,因为如果 scanStage 级别为 2 并且他们访问 scanStage 级别 3 类,他们将拥有一些未初始化的变量,因为游戏没有提供该信息。

最佳答案

如果您说每个 ShipScanStage 类型的对象都很相似,那么它就会具有足够相似的功能。

如果是这种情况,那么每个对象都应该从抽象类扩展或实现接口(interface)。

...然后,您实际上必须从方法中返回该抽象类型或接口(interface)。

假设抽象类或接口(interface)名为 ShipScanStage,那么您的方法的签名将是:

public ShipScanStage getScanStageInfo() {

}

关于java - 返回多个java类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55555283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com