Java 实现定义为接口的泛型类

Java 实现定义为接口的泛型类,java,android,generics,Java,Android,Generics,我正在努力做到以下几点: public abstract class BaseActivity<S extends BaseDrawer> extends AppCompatActivity implements S{ ... } 但在“S”处给出了错误“此处需要接口”。如果S扩展了一个接口,则意味着S也是一个接口,因此没有出现此错误的原因。我说得对吗?你说得不对。 这个错误是有原因的。 S可能不是接口,但可能是已实现接口的类。 另外,如果我们假设S是一个接口,那么除了在BaseD

我正在努力做到以下几点:

public abstract class BaseActivity<S extends BaseDrawer> extends AppCompatActivity implements S{
...
}
但在“S”处给出了错误“此处需要接口”。如果S扩展了一个接口,则意味着S也是一个接口,因此没有出现此错误的原因。我说得对吗?

你说得不对。
这个错误是有原因的。
S
可能不是接口,但可能是已实现接口的类。

另外,如果我们假设
S
是一个接口,那么除了在
BaseDrawer
中定义的方法外,谁知道哪些方法已添加到该接口中?谁知道
BaseActivity
的子类一旦不是抽象类就必须实现哪些方法呢?

泛型定义中的扩展与类型层次结构不同。在类型层次结构中,扩展只能在类扩展类或接口扩展接口中使用,但在泛型定义中,扩展可以用于引用类或接口,因此S可以同时是它们


您不能在类定义中使用泛型类型。

您不能从泛型类型实现使用泛型作为接口您想要达到的目标是什么?不清楚
public interface BaseDrawer {
    boolean showWait();
    boolean hideWait();
}