我有一个类似的线挖掘OpenSource项目:
abstract class AbstractClass<A extends ParentClass1,
B extends ParentClass2>
你能告诉我它究竟意味着什么吗?我认为java不支持多重继承,所以我们在这里做什么呢?那里的A
和B
是什么? :S
答案 0 :(得分:1)
此处 A和B只是占位符,可以替换为分别扩展ParentClass1和ParentClass2的任何类。创建此类的对象时,可以在角度调整(&lt;&gt;)中传递参数。编译期间编译器将这些参数替换为A和B.
上面的代码并不表示多重继承。请详细阅读generics以了解这一点。
答案 1 :(得分:0)
答案 2 :(得分:0)
如果删除<>
中的内容,则只能看到
abstract class AbstractClass
这意味着,该类根本没有扩展任何类。
abstract class AbstractClass<A extends ParentClass1,
B extends ParentClass2>
本质上意味着,该类希望声明2个泛型A和B,并强制其类型。这意味着,它希望类的实现者提供分别扩展ParentClass1
和ParentClass2
的2个类。
有关更多说明,请参阅this