为什么要使用接口?
来源:互联网 发布:mac系统远程桌面连接 编辑:程序博客网 时间:2024/05/16 15:50
所谓接口,是一些方法特征的集合,这些方法来具体的方法,但是他们一般来自于在系统中不断出现的方法。在Java语言规范(Java Language Specification)[JLS00]中,一个方法的特征仅包括方法的名字、参量的数目和种类,而不包括方法的返还类型,参量的名字以及所抛出的异常。
接口本身没有任何实现,因为Java不涉及表象,而之描述public行为,所以Java接口比Java抽象类更为抽象化。Java的接口可以有public,静态的和final的属性。
考虑一下,如果没有接口会怎么样?
一个对象需要知道其他的行为的一些对象,并且与其他的对象发生相互作用,这是因为这些对象需要借助于其他对象的行为以便完成一项工作。这些关于其他对象的知识,以及其他对象的行为的调用,都是使用Hardcode写在类里面的,可插入性几乎为零。如果要加入新的类,仅仅意味着加入新的硬编码,而不能给出动态的可插入性。
那我们能不能使用一下类的继承,比如现在有一个具体类,提供某种使用硬代码写在类中的行为。现在,要提供一些类似的行为,并且实现动态的可插入,也就是说,要能够动态的决定使用哪一个实现。一个可能的做法就是为这个类提供一个抽象的超类,声明出子类要提供的行为,然后让这个具体类继承自这个抽象超类。同时,为这个抽象超类提供另一个具体子类,这个子类以不同的方法实现了超类所声明的行为。客户端可以动态的决定使用哪一个具体的子类。这样确实可以再简单的情况下提供可插入性。但是由于Java是一个单继承的语言,一个类只能有一个超类,因此在许多情况下,这个具体类可能已经有一个超类,这时。再加一个超类是不可能的。如果硬要这样的话,可以把这个新的超类加到已有的超类上面,形成超超类的情况;如果这个超超类的位置已经被占用了,就只好继续向上移动,直到移动到等级结构的最顶端,这样以来,问题就严重了!对一个具体类的可插入行设计,就变成了对整个等级结构中所有的类的修改。
因此,没有接口,可插入性就没有保证。
- 为什么要使用接口
- 为什么要使用接口?
- 为什么要使用接口编程
- 为什么要使用接口编程
- 为什么要使用接口编程
- 为什么要使用接口编程
- c#为什么要使用接口?
- 为什么要使用接口编程
- 为什么要使用Serializable接口?
- Java为什么要使用接口
- Java - 为什么要使用接口编程
- 为什么要使用接口编程?(转)
- Java - 为什么要使用接口编程
- 为什么要使用接口 ?形象的说明
- 为什么要使用面向接口编程
- java中为什么要使用接口?
- java为什么要使用接口回调
- 我们为什么要使用空接口
- Windows mobile下文件关联程序
- learning about Project Management -A02- Project Plan
- Windows Mobile下WinInet的异步使用方法
- Windows Mobile手机中存储卡的名称识别
- linux系统移植之Make
- 为什么要使用接口?
- WinInet开发中的同步和异步区别
- flex中各个数据类型和java中的各个数据类型的对应关系
- Windows mobile下写IE cookie
- U-BOOT移植小解
- 2009ACM多校联合暑期集训(16)——NIT专场
- Rational BuildForge将 buildforge.conf 和 bfagent.conf 中的密码加密
- 百度规律
- VS2005编译的程序在XP系统下不能运行的解决办法