2013-04-07 153 views
2

我有一个类似的行挖了一个开放源代码项目:Java的抽象类扩展两个类

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

能否请你告诉我究竟是什么意思?我认为java不支持多继承,所以我们现在在做什么? AB在这里是什么? :S

+1

http://docs.oracle.com/javase/tutorial/java/generics/ – 2013-04-07 06:30:34

回答

1

这里A和B被放置只是可替换为分别延伸ParentClass1和ParentClass2任何类持有者。当您创建此类的对象时,您可以将角度参数(<>)传递给角色。在编译期间,这些参数将被编译器替换为A和B.

上面的代码不表示多重继承。请详细阅读generics以了解此内容。

0

如果您在<>删除的内容,然后就看到它的唯一

abstract class AbstractClass 

这意味着,该类未扩展任何类都。

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

基本上意味着,类想申报2个泛型A和B,并迫使其类型。这意味着,它希望班级的实施者提供分别扩展ParentClass1ParentClass2的2个班级。

请参阅this更多的澄清