一、接口的概念:
在Java程序语言中,接口不是类,是一系列方法的声明,是一些方法特征的集合,
一个接口只有方法的特征而没有方法的实现,因此这些方法可以在不同的
地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
我认为:接口可以理解为一种特殊的类,里面由全局常量和公共的抽象
方法和静态方法所组成。接口是解决Java无法使用多继承的一种手段,
或者我们可以直接把接口理解为的抽象类
二、接口的定义:
[修饰符] interface 接口名[extends父接口名列表]{
[public][static][final]常量;
[public][abstract]方法;
}
如同一个类一样,一个接口也能够拥有方法和属性,但是在接口中声明的方法默认是抽象的。(即方法只有定义而没有具体实现)。
- 修饰符:用于指定接口的访问权限,可选值为public,省略则默认为public
- 接口名:必选参数,用于指定接口名称,接口名必须是合法Java标识符
- extends父接口名列表:用于指定定义的接口继承于哪个接口
三、接口的实现:
接口定义后,就可以在类中实现该接口。实现接口使用关键字implements,
基本格式如下:
[修饰符]class<类名>[extends父类名][implements接口列表]{}
四、接口的特点:
1.不能直接去实例化一个接口,因为接口中的方法都是抽象的,是没有方法体的,但可以通过多态的形式实现实例化
public interface Inter1{
void Inter();
}
class Inter2 implements Inter1{
public void Inter(){
System.out.println("Hello!");
}
}
class Test{
public static void main(String[] args){
Inter1 a = new Inter2();
a.Inter();
}
}
- 接口中都是抽象方法和常量,不可能有非抽象方法,常量必须被赋值。
常量默认被public static final
方法默认被public static abstract修饰 - 一个类可以实现不止一个接口
- 一个类如果要实现某个接口的话,那么它必须要实现这个接口中的所有方法
- 接口用来弥补类无法实现多继承的局限
多继承优点—定义了许多接口,如果一个使用类要同时实现那么多接口将是不小的开销,对于同能同类的可以把他用一个接口继承起来,这样这个接口就要了那些接口的全部功能,我们使用类只要实现一个就可以了