关于接口的初步认识

来源:互联网 发布:英语翻译中文软件 编辑:程序博客网 时间:2024/05/09 19:21

接口(英文:interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

接口并不是类,编写接口的方式和类很相似(接口是public interface name{},类是publicclass name{}),但是它们属于不同的概念。类描述对象的属性和方法。接口则包含类要实现的方法。如果是普通类(即非抽象类)来实现接口,就必须重写其接口所提供的所有抽象方法(抽象类则不需要)。接口不能像类一样用关键字new出实例,但是可以用implements关键字来实现。接口中的方法类型模式是修饰符 abstract 返回值类型 方法名();不管是否写全,最后系统默认都是这个规范。

接口实现的注意事项:

①接口中所有的方法必须提供具体的实现

②必须遵守重写的规范

重写的规范:a>子类的重写方法不能抛出更大的重写异常

b>子类的重写方法不能有更小的访问范围(即父类是public 子类也必须是public)

③必须保持相同的返回值类型(即接口中规定返回值类型为void,则实现类中实现方法也必须是void)

接口与类的相似点:

①一个接口可以有多个方法

②接口文件保存在.java结尾的文件中,文件名使用接口名

③接口的字节码文件保存在.class结尾的文件中

接口与类的区别:

①接口无法像类一样使用new来创建实例

②接口没有构造方法

③接口中所有的方法都被默认为是抽象方法

④接口中没有变量,即使存在变量,也会被系统默认为 公有的(public) 静态的(static) 最终的(final)的常量

⑤接口中可以存在多重继承,而类只能被单重继承

                                 

接口的继承:

一个接口能继承另一个接口,和类之间的继承类似。但区别是接口能多重继承,类只能单继承。

标记接口:

最常用的继承接口是没有包含任何方法的接口。

标记接口是没有任何方法和属性的接口,它仅仅表明它的类属于一个特定的类型,供其它代码来测试允许做一些事情。

标识接口作用:简单形象的说就是给某个对象打个标记,使对象拥有某个或某些特权。例如:java.awt.event包中的MouseListener接口继承的java.util.EventListener接口定义如下:

                 

没有任何方法的接口被称为标记接口。标记接口主要用于以下两种目的:

①建立一个公共的父接口:

正如EventListener接口,这是由几十个其他接口扩展的Java API,你可以使用一个标记接口来建立一组接口的父接口。例如:当一个接口继承了EventListener接口,JVM就知道该接口将要被用于一个事件的代理方案。

②向一个类添加数据类型:

这种情况是标机接口最初的目的,实现标记接口的类不需要定义任何接口方法(标记接口本身也没有任何方法),但是该标记接口可以通过多态性(接口回调)变成一个接口类型。


0 0