天天看点

Java中的Interface

       Java中的接口是一系列的方法声明的集合,这些方法没有具体实现,因此这些方法可以用在不同的地方被不同的类实现。接口有两种含义:

1.Java接口,Java语言中存在的结构,有特定的语法和结构;

2.接口,一个类具有的方法特征的集合,是一种逻辑上的抽象;

在使用接口时应该注意以下几点:

1.接口一般定义的是一些常量和抽象方法,抽象类中可以包含抽象方法和非抽象方法,但包含抽象方法的类是一定是抽象类,抽象方法没有具体实现的方法;

2.接口的引用用关键字:implements;

3.接口只能定义抽象方法且默认的访问权限是public,常量修饰用public static final;

4.多个无关的类可以实现一个接口,一个类也可以实现多个无关的接口;

5.接口可以继承其它的接口,并且可以增添新的属性和方法;

6.在类中实现接口的方法时必须加上public;

7.一个非抽象类实现一个接口时必须实现接口中的所有方法,而抽象类不必实现所有的方法;

8.不能用new操作符实例化一个接口,但可以定义 一个接口的变量,该变量必须引用一个实现该接口的类的对象;

9.可以用instanceof可以检查一个类是否实现了一个特定的接口。

抽象类与接口的区别:

1.从定义来看:

抽象类中可以有自己的数据成员及非抽象的成员方法,但必须包含至少一个抽象方法;而接口中如果有数据成员必须是静态的且不可以修改的,且所有的方法都必须是抽象的,从某种意义上来说,接口是一种特殊的抽象类;

2.从编程角度来看:

抽象类在Java语言中表示一种继承关系,一个类只能使用一次继承关系;但是一个类却可以实现多个接口。

3.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

4.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。

5.接口中的方法默认都是 public,abstract 类型的。