下面这种写法是什么意思啊
public abstract class abClass <S extends 类1,D extends 类2>extends 类3
S和D分别表示什么意思啊,为什么要这么写,有什么好处吗.谢谢了
public abstract class abClass <S extends 类1,D extends 类2>extends 类3
S和D分别表示什么意思啊,为什么要这么写,有什么好处吗.谢谢了
abClass有两个形参,第一个形参是S,只允许S从类1继承,第二个形参D也一样,必须是从类2继承过来的类型
注意:<T extends Collection>这里的限定使用关键字 extends,后面可以是类也可以是接口。但这里的extends已经不是继承的含义了,应该理解为T类型是实现Collection接口的类型,或者T是继承了XX类的类型。
类1这也可以是接口吧,这两个形参是做什么用的啊
带上限通配符的泛型参数,
public abstract class abClass <S extends 类1,D extends 类2>extends 类3 为什么这样写可以看下面的例子
public class MyGenericClass<T> {
private T data;
public MyGenericClass(T obj){
this.data=obj;
}
//public static T m3(T obj){
//}//静态属性是在类加载的时候就初始化,而泛型参数是在类构造的时候才能确定。
public void m1(T obj){
T o1;
}
public T m2(){
return data;
}
public static void main(String[] args){
MyGenericClass<String> myc=
new MyGenericClass<String>("hello");
myc.m1("hehe");
String str=myc.m2();
}
}