首页编程java编程java extends什么意思 在java中,〈extends A 〉与〈T extends A〉有什么区别

java extends什么意思 在java中,〈extends A 〉与〈T extends A〉有什么区别

编程之家2023-10-11113次浏览

这篇文章给大家聊聊关于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的任何子类

java extends什么意思 在java中,〈extends A 〉与〈T extends 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表示了

java extends什么意思 在java中,〈extends A 〉与〈T extends A〉有什么区别

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〉有什么区别问题对您有所帮助,还望关注下本站哦!

1840年 1840年以来中国的历史是什么史什么是java语言的关键字 什么是java关键字