java - 接口(interface)方法中的返回类型应该是什么

标签 java

我有两个类(class)。 Status1Status2

这两种状态有一个共同的变量:

protected A a;

还有一个不常见的:

class Status1 {
    protected A a;
    protected ListStatus1.B version;
}

BStatus1 类中的静态类

class Status2 {
    protected A a;
    protected Status2.C version;
}

CStatus2 类中的静态类

所以现在我想创建接口(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/

相关文章:

java - jclouds 与 OpenStack => java.util.NoSuchElementException : apiType compute not found in catalog []

java - 我可以在我的 Web 应用程序中同时使用 Spring 和 JSF 吗

java - C#和Java的三元运算符的区别(?:)

java.lang.NullPointerException 错误

java - 如何在 JSP 中包含 JFreeChart servlet 图像

java - 是否可以在 Netbeans 7.0 应用程序中使用 Jzy3D?

java - 如何将值和字符串输入到类对象中?获取空指针异常

java - 找不到hibernate.cfg.xml

java - 在 set 方法中使用 Scanner.next() 并尝试在数组元素上调用它

java - 是否可以将数组中的索引与颜色进行比较?