我有两个类(class)。 Status1
和 Status2
这两种状态有一个共同的变量:
protected A a;
还有一个不常见的:
class Status1 {
protected A a;
protected ListStatus1.B version;
}
B
是Status1
类中的静态类
class Status2 {
protected A a;
protected Status2.C version;
}
C
是Status2
类中的静态类
所以现在我想创建接口(interface)Status
在这里我可以添加变量A
。现在我需要添加方法 getVersion
,它应该在 Status1/Status2
protected abstract ?? getVersion();
但我不知道返回类型
应该在那里
我尝试向该接口(interface)添加静态类,但该类返回但没有成功
最佳答案
“正确的做法”是让两个静态类 B 和 C 实现一个公共(public)的空 interface
,我们称之为“Versioned”
public interface Versioned{}
static class B implements Versioned{
...
}
static class C implements Versioned{
...
}
之后,你可以写:
protected abstract Versioned getVersion();
并且您的方法将被允许返回 B 或 C。
关于java - 接口(interface)方法中的返回类型应该是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230555/