Java抽象类扩展了两个类

时间:2013-04-07 06:29:15

标签: java inheritance abstract-class

我有一个类似的线挖掘OpenSource项目:

abstract class AbstractClass<A extends ParentClass1,
    B extends ParentClass2>

你能告诉我它究竟意味着什么吗?我认为java不支持多重继承,所以我们在这里做什么呢?那里的AB是什么? :S

3 个答案:

答案 0 :(得分:1)

此处 A和B只是占位符,可以替换为分别扩展ParentClass1和ParentClass2的任何类。创建此类的对象时,可以在角度调整(&lt;&gt;)中传递参数。编译期间编译器将这些参数替换为A和B.

上面的代码并不表示多重继承。请详细阅读generics以了解这一点。

答案 1 :(得分:0)

它是通用类型 在这里查看泛型:http://docs.oracle.com/javase/tutorial/java/generics/types.html

答案 2 :(得分:0)

如果删除<>中的内容,则只能看到

abstract class AbstractClass

这意味着,该类根本没有扩展任何类。

abstract class AbstractClass<A extends ParentClass1,
    B extends ParentClass2>

本质上意味着,该类希望声明2个泛型A和B,并强制其类型。这意味着,它希望类的实现者提供分别扩展ParentClass1ParentClass2的2个类。

有关更多说明,请参阅this