java泛型-implements和extends
简介
JavaSE当中之前的理解是:implements是实现接口,extends是继承类,但是在泛型中只能使用extends,不过只能使用extends并不意味着只能继承类,泛型使用extends后边既可以接父类又可以跟接口,最终实现的效果跟继承类或者实现接口是一样的。
泛型实例
public <T extends List<?>> void test(T[] mote) {
T t = null;
for (Object ts : t) {
System.out.println(ts);
}
}
首先,很明显上述代码不会报错,但是这里的关注点是泛型的使用。
extends后边跟的是List,而List是一个接口。
public <T extends ArrayList<?>> void test(T[] mote) {
T t = null;
for (Object ts : t) {
System.out.println(ts);
}
}
extends后边跟的是ArrayList,而ArrayList是一个实现类。
这两个实例在语法上是没有错误的(不要在意null)
还没有评论,来说两句吧...