专题:java语言的接口和抽象类

专题:java语言的接口和抽象类

ID:40167078

大小:276.86 KB

页数:20页

时间:2019-07-24

专题:java语言的接口和抽象类_第1页
专题:java语言的接口和抽象类_第2页
专题:java语言的接口和抽象类_第3页
专题:java语言的接口和抽象类_第4页
专题:java语言的接口和抽象类_第5页
资源描述:

《专题:java语言的接口和抽象类》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、专题:Java语言的接口和抽象类在家里,可以很容易地将一个电器从电源插座上拔下,然后将另一个电器插上。对于电源来说,这些电器都是可插入构件(PluggableComponent)。它们之所以是可插入的,是因为它们都具有与电源插座相匹配的插头。可插入构件:如果可以动态地将一个构件移走,并以另一个构件取而代之,那么这种构件就是可插入构件。可以看出,所谓的接口,实际上就相当于电源插座;而可插入构件就相当于与这种插座相匹配的电器。正如电器的可插入性是由统一的电源插座及每个电器都有一个与之匹配的电源插头造成的一样,可插入构件的关键在于存在一个公用的接口,以及每个构件都实现了这个接口。因此

2、,接口是实现构件的可插入性的关键。什么是接口Java接口是一些方法特征的集合,没有方法的实现。这些方法在不同的地方被实现时,可以具有完全不同的行为。Java接口本身没有任何实现,因为Java接口不涉及具体,而只描述public行为,所以Java接口比Java抽象类更为抽象化。一个Java接口的方法只能是抽象的和公开的,Java接口不能有构造方法。实现一个共同的Java接口的两个类常常完全不同,但是有一组相同的方法。一些看上去毫不相干的类,可以因为提供相类似的服务,从而具有相同的接口。比如说,两个实现Runnable接口的类除了都有一个publicvoidrun()方法之外,可能

3、没有其他任何的共同点。接口和类主要区别接口仅仅描述方法的特征,而不给出方法的实现;类不仅给出方法的特征,而且给出方法的实现。接口把方法的特征和方法的实现分割开来。这种分割,体现在接口常常代表一个角色,它包装与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色可以由不同的演员来演,而不同的演员之间除了扮演同一个角色之外,并不要求有其它的任何共同之处。为什么使用接口1.接口是对可插人性的保证在一个类等级结构中的任何一类都可以实现一个接口,这个接口会影响到此类的所有子类,但是不会影响到此类的任何超类。此类将不得不实现这个接口所规定的方法,而其子类则可以从此类自

4、动继承到这些方法,当然也可以选择置换掉所有的这些方法,或者其中的某一些方法。这时候,这些子类就具有了可插入性。关联的可插入性一个对象需要完成一项任务,所以需要知道其他的对象,并且调用其他对象的方法。这个对象对其他对象的知识叫做关联(Association)。如果一个关联不是针对一个具体类的,而是针对一个接口的,那么任何实现这个接口的类就都可以满足要求。换言之,当前对象并不在意所关联的是哪一个具体类,而仅仅关心这个类是否实现了某一个接口。这样一来,就可以动态地将这个关联从一个具体类转换到另一个具体类,而这样做的唯一条件是它们都实现某个接口。例如:不要使用下面的声明语句:Vecto

5、remployees=newVector();//Vector是Java的一个类而应该使用下面的声明语句:Listemployees=newVector();//List是Java的一个接口这样作的好处是,在决定将Vector类型转换成ArrayList时,需要改动得很少:Listemployees=newArrayList();调用的可插入性同样,一个对象不可避免地需要调用其他对象的方法。这种调用不一定非得是某一个具体类,而可以是一个接口。这样一来,任何实现了这个接口的具体类都可以被当前对象调用;而当前对象到底调用的是哪一个具体类的实例则完全可以动态地决定。因此,接口提供了关

6、联以及方法调用上的可插入性,软件系统的规模越大,生命周期越长,接口的重要性就越大。接口使得软件系统在灵活性和可扩展性、可插入性方面得到保证。例如:publicclassexample{ListmyList;publicexample(ListaList){myList=aList;}publicintgetSize(){returnmyList.size()}publicstaticvoidmain(Stringargs[]){ArrayListemployees=newArrayList();exampleep=newexample(employees);System.out

7、.println(ep.getSize());}}2.Java接口(以及Java抽象类)用来声明一个新的类型Java设计师应当主要使用Java接口和抽象类将软件单位与内部和外部耦合起来。换言之,应当使用Java接口和抽象类而不是具体类进行变量的类型声明、参量的类型声明、方法的返回类型声明,以及数据类型的转换等。当然,一个更好的做法是仅仅使用Java接口,而不要使用抽象Java类来做到上面这些。在理想的情况下,一个具体Java类应当只实现Java接口和抽象类中声明过的方法,而不应当给出多余的方

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。