文章标题

来源:互联网 发布:linux 内存查询 编辑:程序博客网 时间:2024/06/06 01:42

java与接口

看到这个标题,你可能会觉得java的接口?那不就是在创建一个类的时候,把class修改为Interface吗?
一个java接口是一些方法特征的集合没有方法的实现,因为这些方法需要在不同的地方被实现时,可以具有完全不同的行为。
在人们讲到“接口”的时候,这个词往往有两种不同的含义:
* 普通java接口,这是一种java语言中存在的结构,有特定的语法和结构;
* 一个类所具有的方法的特征集合,是一种逻辑上的抽象。
前者只能叫java接口,后者称为接口。
java接口本身没有任何的实现,因为java接口不涉及表象只是描述行为,所以,接口比抽象类更为抽象化。
实现一个共同接口的两个类常常完全不同,但是有一组相同的方法和常量。一些看上去毫不相干的类,可以因为提供相类似的服务从而可以实现同一个接口。例如,两个实现了Runnbale接口的类,除了有一个public void run(){…}方法之外,可能没有其他任何共同点。
接口和类的最重要的区别是,接口仅仅描述了方法的特征,而不给出方法的实现;而类不仅给出方法的特征,而且给出方法的实现。因此,接口把方法的特征和方法的实现隔离开,这种分割,提现在接口常常代表一个角色,它包装了与该角色相关的操作和属性,而实现这个接口的类便是扮演这个角色的演员。一个角色可以由不同的演员来扮演,而不同的演员之间除了扮演同一个角色的共同特征外,并不要求任何其他的共同点。

java接口常见的使用方法

单方法接口

一个单方法接口只有一个方法,例如Runnable接口,只有一个run方法

标识接口

标识接口是没有任何方法和属性的接口。标识接口不对实现它的类有任何语义上的要求,它仅仅表明实现它的类属于一个特定的类型。
标识接口在java中有一些很著名的使用,比如java.io.serializable 和 java.rmi.Remote 等接口就是标识接口。

常量接口

这个就很常见了,比如在spring事务中,有一个transactionManagerDefination事务定义,这个接口就是常量接口。用java接口声明的常量,然后由实现这些接口的类使用这些常量,这样一来,凡是实现这个接口的类都会自动的继承这些常量,并且都可以像使用自己的常量那样使用,这一做法被列为代码模式。这种使用java接口的方式是错误的,不被推荐的。

java与抽象类

原创粉丝点击