了解 Java 通用 Class 语法?
Understanding Java Generic Class syntax?
我正在做一个基于 Set in Java 的项目,我给了一个现有的项目作为基础。我找到了以下代码,但无法理解它的含义,尤其是 AbstractClass Extends 本身。任何帮助,将不胜感激。
谢谢
public abstract class AbstractClass<I extends AbstractClass<I, V>, V>
extends SomeOtherAbstractClass<I>
不,class 不会自行扩展。它 参数化 扩展了这个 class。
public class V<T extends B> {
}
public class A {
}
public class B extends A {
}
public class C extends B {
}
在上面的示例中,V
没有扩展 B
,但是 V
需要参数化,它是扩展 B
.[=26= 的类型]
即:
new V<B>()
和 new V<C>()
有效
new V<A>()
无效
因此,在您的代码中,AbstractClass<I, V>
扩展了 SomeOtherAbstractClass<I>
,并且 I
必须扩展 AbstractClass<I, V>
.
我正在做一个基于 Set in Java 的项目,我给了一个现有的项目作为基础。我找到了以下代码,但无法理解它的含义,尤其是 AbstractClass Extends 本身。任何帮助,将不胜感激。
谢谢
public abstract class AbstractClass<I extends AbstractClass<I, V>, V>
extends SomeOtherAbstractClass<I>
不,class 不会自行扩展。它 参数化 扩展了这个 class。
public class V<T extends B> {
}
public class A {
}
public class B extends A {
}
public class C extends B {
}
在上面的示例中,V
没有扩展 B
,但是 V
需要参数化,它是扩展 B
.[=26= 的类型]
即:
new V<B>()
和new V<C>()
有效new V<A>()
无效
因此,在您的代码中,AbstractClass<I, V>
扩展了 SomeOtherAbstractClass<I>
,并且 I
必须扩展 AbstractClass<I, V>
.