extends(在java中,〈extends A 〉与〈T extends A〉有什么区别)

本文目录
在java中,〈extends A 〉与〈T extends A〉有什么区别
这是泛型嘛,泛型简单的意思就是说,你不知道你想要的这个类具体是啥,但是你可以知道这个类的相关子类或者父类
所以从上面的观点来看,《? extends A》 和 《T extends A》是没啥区别的
例如下面这个两个方法表达的意思是一样的,都表示参数是一个集合,这个集合可能包含着A或者A的任何子类
public void someMethod(List《? extends A》 list);public void someMethod(List《T extends A》 list);
这是一种情况,但是相比而言,一个类中,多处方法都需要这个泛型的时候,《T extends A》要比《? extends A》 方便的多,就像在代码里,你声明了一个变量后,你就可以在这个变量的代码块里任何地方调用,同理《T extends A》就像是声明了一个泛型变量T,这个T是一个A或者A的子类,然后这个变量T在所能用的范围之内,你都可以直接用T表示,不用再写《? extends A》或者《T extends A》,比如:
public 《T extends A》void some(List《T》 t);
上面是方法里,这个范围比较窄,放在类里,效果更明显,比如:
public class B《T extends A》{// 一个A类或者A子类的变量
private T a;
// 一个方法
public void some(List《T》 list);
}
所以可以看到,差别也不太大
java中 extends与impletements 区别
extends和impletements都是实现多态性的,extends用于继承抽象类,得到子类就是该类的具体实现,例如class real extends abs{ }其中abs假设为抽象类则real为其子类。
impletements是接口例,如class test impletements Myinter{ }与类的继承关系类似,接口之间也可以通过关键字extends进行继承,但其中的抽象方法不能被具体实现。
java里extends代表什么
extends 代表继承
Class B extends A{}代表B继承自A,A所拥有的公共方法以前公共变量在B 中可以直接使用,就如同是B自己的一样。

本文相关文章:
java算法大全(java中的算法,一共有多少种,哪几种,怎么分类)
2026年10月8日 19:30
java课件(我想做一个介绍java项目的ppt文件,我想知道该如何介绍会好,比如说用到的技术,实现的功能等等)
2026年9月20日 08:30
更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






