java - 实现定义为接口(interface)的泛型类

标签 java android generics

我正在尝试执行以下操作:

public abstract class BaseActivity<S extends BaseDrawer> extends AppCompatActivity implements S{
...
}

其中 BaseDrawer 定义为:

public interface BaseDrawer {
    boolean showWait();
    boolean hideWait();
}

但是在“implements S”处给我错误“Interface expected here”。如果 S 扩展了一个接口(interface),则意味着 S 也是一个接口(interface),因此不会出现此错误。我说得对吗?

最佳答案

你是不对的。
这个错误是有原因的。 S 可能不是一个接口(interface),但可能是一个已经实现了接口(interface)的类。
此外,如果我们假设 S 是一个接口(interface),那么除了 BaseDrawer 中定义的方法之外,谁知道该接口(interface)中添加了哪些方法?谁知道 BaseActivity 的子类在非抽象后必须实现哪些方法?

关于java - 实现定义为接口(interface)的泛型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40460970/

相关文章:

java - Servlet 捕获唯一约束异常

java - 应用 Math.random() 调用数组

c# - Xamarin Admob RewardedVideoAd 代码错误 0 和 3

android - 如何在 Android Studio 2.2 中手动选择目标设备?

java - C# 中的多类泛型集合

java - 返回给定参数类型的列表 - java

java - 如何向 jpanel 添加视觉效果?

java - 当 JFrame 包含 GridLayout 时,我可以为 JFrame 设置特定的边框大小吗?

java - 在 Windows 10 上运行 UTF-8 Java 文件与在 Linux 上运行相同

java - 将一种类型转换为另一种类型