[英]Java abstract class extends two classes
我在挖掘一个开源项目时也有类似的话:
abstract class AbstractClass<A extends ParentClass1,
B extends ParentClass2>
你能告诉我这到底意味着什么吗? 我认为Java不支持多重继承,所以实际上我们在这里做什么? A
和B
在这里是什么? :S
这里的A和B只是占位符 ,可以用分别扩展ParentClass1和ParentClass2的任何类替换 。 创建此类的对象时,可以在角制动(<>)中传递参数。 这些参数将在编译期间由编译器替换为A和B。
上面的代码并不表示多重继承。 请详细阅读泛型以了解这一点。
它是泛型类型,请在此处查找泛型: http : //docs.oracle.com/javase/tutorial/java/generics/types.html
如果删除<>
中的内容,则只能看到其内容
abstract class AbstractClass
这意味着该类根本不扩展任何类。
abstract class AbstractClass<A extends ParentClass1,
B extends ParentClass2>
从本质上讲,该类想要声明2个泛型A和B,并强制其类型。 这意味着,它希望该类的实现者提供两个分别扩展ParentClass1
和ParentClass2
类。
请参阅此以获取更多说明
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.