我有一个程序将请求发送到服务器。请求有很多不同的类型,每种都有自己的类。例如,我有一个checkServerOnlineRequest
向服务器发送一条短消息,或者一个getAmountOfGoldRequest
向服务器发送一条非常不同的消息。
class CheckServerOnlineReq{
static final byte requestID = 1;
byte[] message;
void setMessage(byte messageNumber){
message = new byte[2];
message[0] = messageNumber;
message[1] = requestID;
}
}
要发送请求,我有一个
Client
类。它具有称为static
的send
方法,我想接受任何类型的请求(即,许多不同的类)我的问题是,如何设置
send()
的参数以允许将任何类型的请求作为参数给出。 最佳答案
规范的方法是声明一个接口,并使具体的请求类实现该接口:
public interface IRequest { ... }
public class CheckServerOnlineRequest implements IRequest { ... }
public class GetAmountOfGoldRequest implements IRequest { ... }
然后
send()
方法可以接受IRequest
作为其参数。public static void send(IRequest request) { ... }
关于java - 使用不同对象作为参数调用的相同方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10110498/