Java方法可以根据条件返回值吗?
2022-09-03 03:26:22
我有一个接口和类来实现这一点。ICoreClientAClientBClient
ICoreClient向用户公开。
我需要在接口中添加一个新方法。因此,它需要在两个客户端中实现。我不能使这种方法通用,因为它具有完全不同的签名但功能相似。ICoreClient
我有 2 个接口和xxyy
ClientA实现和实现xxClientByy
因此,我决定添加一个新的,它将为我提供客户端的实例或取决于客户端。testMethodICoreClientxxyy
我想根据条件从单个方法返回这些接口的实例。
在客户端 A 中:
public xx testMethod(){
return instanceof xx;
}
在客户端 B 中:
public yy testMethod(){
return instanceof yy;
}
我应该在ICoreClient界面中写些什么?
public zz testMethod()
我尝试将一个虚拟接口(充当通用超类型)放在两者中,并且正在实现这一点。但仍然无法在各自的客户端中公开方法,因为最终它在 中进行了类型转换。zzxxyyxxyyzz
对于这种情况,是否有任何已知的方法?
编辑:如果我做返回类型,这些接口的方法不会公开。虽然,对象包含 或 的实例,Objectxxyy
用户仍然需要将其转换为(或者用户如何知道?)以使用界面中的方法。我想暴露的方法,而不必强制转换为或...xxyyClientXClientAClientB