展开全部
这是泛型嘛,泛型简单的意32313133353236313431303231363533e59b9ee7ad9431333339663965思就是说,你不知道你想要的这个类具体是啥,但是你可以知道这个类的相关子类或者父类
所以从上面的观点来看, extends A> 和 是没啥区别的
例如下面这个两个方法表达的意思是一样的,都表示参数是一个集合,这个集合可能包含着A或者A的任何子类public void someMethod(List extends A> list);
public void someMethod(List list);
这是一种情况,但是相比而言,一个类中,多处方法都需要这个泛型的时候,要比 extends A> 方便的多,就像在代码里,你声明了一个变量后,你就可以在这个变量的代码块里任何地方调用,同理就像是声明了一个泛型变量T,这个T是一个A或者A的子类,然后这个变量T在所能用的范围之内,你都可以直接用T表示,不用再写 extends A>或者,比如:
// 前面定义了T,后面参数就可以用T表示了
public void some(List t);
上面是方法里,这个范围比较窄,放在类里,效果更明显,比如:public class B{
// 一个A类或者A子类的变量
private T a;
// 一个方法
public void some(List list);
}
所以可以看到,差别也不太大