您好,我正在编写报告系统,并且希望最终用户在扩展我的类时指定类型。
class A <T extends C>
{...}
class B extends A // Compile error
{...}
class B extends A<D> // Compile error
{...}
class B extends A<C> // Success
这可能吗?
最佳答案
class B extends A // Compile error
不,为了向后兼容,Java 中的泛型是可选的。你不能强制程序员使用它们。这只会生成警告(“不要使用原始类型”)。
class B extends A<D> // compile error
如果他们确实使用泛型,那么他们必须是正确的。如果 D 与规范不匹配,则会出现编译错误。
关于 java 。如何禁止使用原始泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031854/