我的代码段如下:
public class Abc <R extends XYZ> extends DAO{
.
.
.
}
有人可以解释这个片段吗? 在此先感谢。
答案 0 :(得分:1)
Abc是DAO的子类,还包括一个泛型R,它是XYZ类型的子类
答案 1 :(得分:1)
这是Abc
类的声明,extends类DAO
(data access object)。泛型部分<R extends XYZ>
表示它可用于插入,更新和/或删除扩展类R
的对象XYZ
(最可能是data transfer object)。现在,没有R
类的声明。它只是扩展XYZ
的任何类别的占位符。
答案 2 :(得分:1)
您的班级Abc
是班级类型DAO
的子类。这意味着以下内容将编译:
DAO abc = new Abc();
其次,您的Abc
类已定义了泛型类型R
。此类型必须是XYZ
的子类。这意味着,对于任何可以称为XYZ
的类,都可以用于为此类Abc
添加通用性。
public class ARGH extends XYZ { }
Abc<ARGH> abc = new Abc<ARGH>();
这意味着对于R
内的任何类型Abc
,它现在都是ARGH
类型。
public class Abc <R extends XYZ> extends DAO {
R element;
public Abc(R element) {
this.element = element;
}
}