java extends什么意思 在java中,〈extends A 〉与〈T extends A〉有什么区别
这篇文章给大家聊聊关于java extends什么意思,以及在java中,〈extends A 〉与〈T extends A〉有什么区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。
在java中,〈extends A 〉与〈T extends A〉有什么区别
这是泛型嘛,泛型简单的意思就是说,你不知道你想要的这个类具体是啥,但是你可以知道这个类的相关子类或者父类
所以从上面的观点来看,<? extends A>和<T extends A>是没啥区别的
例如下面这个两个方法表达的意思是一样的,都表示参数是一个集合,这个集合可能包含着A或者A的任何子类
publicvoidsomeMethod(List<?extendsA>list);
publicvoidsomeMethod(List<TextendsA>list);
这是一种情况,但是相比而言,一个类中,多处方法都需要这个泛型的时候,<T extends A>要比<? extends A>方便的多,就像在代码里,你声明了一个变量后,你就可以在这个变量的代码块里任何地方调用,同理<T extends A>就像是声明了一个泛型变量T,这个T是一个A或者A的子类,然后这个变量T在所能用的范围之内,你都可以直接用T表示,不用再写<? extends A>或者<T extends A>,比如:
//前面定义了T,后面参数就可以用T表示了
public<TextendsA>voidsome(List<T>t);
上面是方法里,这个范围比较窄,放在类里,效果更明显,比如:
publicclassB<TextendsA>{
//一个A类或者A子类的变量
privateTa;
//一个方法
publicvoidsome(List<T>list);
}
所以可以看到,差别也不太大
java 中 implements 和 extends 有什么区别
1、Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都一下子都得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。
2、一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。在这一点上,Java接口的优势就出来了,任何一个实现了一个Java接口所规定的方法的类都可以具有这个接口的类型,而一个类可以实现任意多个Java接口,从而这个类就有了多种类型。
3、从第2点不难看出,Java接口是定义混合类型的理想工具,混合类表明一个类不仅仅具有某个主类型的行为,而且具有其他的次要行为。
java里面interface,implement和extends的作用和用法,多谢
你应该好好看看面向对象,然后在学学java基础语法。
interface是一个接口,类似于C++中的纯虚函数。
举个简单的例子,有一类东西,都具有同样的行为,而这个共有的行为实现方式不一样。
如:笔这类东西,都有共同的行为“写”,铅笔、毛笔、圆珠笔、钢笔都有“写”的功能,但实现起来不一样。那么我们就可以抽象出一个接口“笔”
interface笔{
void写();
}
implement的意思是指在铅笔、毛笔、圆珠笔要有”写“的这个功能,就需要实现接口”笔“的”写“功能。而这个关键字implement就是实现的意思,如:
class铅笔 implement笔{
void写(){
用铅芯画
}
}
class钢笔 implement笔{
void写(){
用墨水画
}
}
而你提到的extends是指一个继承关系,子类继承父类的功能。举个简单的例子:父类”灯“具有”发光“的功能,而子类"台灯",只需要extends父类”灯“就拥有了发光的共功能。
接口和继承的区别,由于时间有限,你参考这篇帖子
http://bruce-ko.javaeye.com/blog/420254
java继承为什么是extends,不是extend
这个,我的理解是,继承的目的是当你的类需要扩展时使用的,你可能会说在设计模式中应该尽可能的使用对象的组合也就是合成,但举个例子:
你有图形这个类,当你需要三角形时,你会毫不犹豫的继承图形,当你需要矩形时你也继承图形。三角形,矩形都是图形的扩展。按照一般的鸟语(英“鹰”)习惯,extend后面会加s的。
好了,文章到这里就结束啦,如果本次分享的java extends什么意思和在java中,〈extends A 〉与〈T extends A〉有什么区别问题对您有所帮助,还望关注下本站哦!