Java 泛型:指定参数必须是接口
我尝试这样做一个泛型类:Java 泛型:指定参数必须是接口,java,generics,Java,Generics,我尝试这样做一个泛型类: public abstract class MyClass<A extends MyInterface,B,C> implements A{ ... } 公共抽象类MyClass实现了{ ... } (注意:B和C不是接口,只是其他通用参数) 我得到一个编译错误,因为绝对不能保证a是一个接口。因此,抽象类不能实现一个 有没有办法告诉编译器a必须是接口?没有, 由于您使用的子句在编译后将具有以下形式: 公共抽象类MyClass实现java.lang.Obj
public abstract class MyClass<A extends MyInterface,B,C> implements A{
...
}
公共抽象类MyClass实现了{
...
}
(注意:B和C不是接口,只是其他通用参数)
我得到一个编译错误,因为绝对不能保证a
是一个接口。因此,抽象类不能实现一个
有没有办法告诉编译器a必须是接口?没有,
由于您使用的子句在编译后将具有以下形式:
公共抽象类MyClass实现java.lang.Object{
您可以添加implements MyInterface,B,C
,因为这将检查这些接口是否已实现。否。如果您不知道其中包含哪些方法,您将如何实现接口?注意:如果您希望泛型类型扩展多个类/类型,则必须使用和:A扩展B&C
@Heuster:这是一个抽象类,这些方法必须由子类实现。在本例中可能不清楚,但B和C不是接口。它们只是其他泛型parameters@adenoyelle知道这一点很好——我会直接在你的问题中补充这一点。