尚硅谷JavaSE基础

7.7 接口

7.7.1 接口的概念

1. 什么是接口

   接口的用途是用来定义现实世界不同类型事物的共同行为特征。

       例如:

    飞行特征(包括起飞,飞行、着陆等行为)是鸟和飞机所共有的。

       鸟和飞机可定义为具体类

       它们的共同行为特征可被定义在接口中

       接口中所有方法均为抽象方法

       示例:

       public interface Flyer {

                public void takeoff();

                ……

   }

 

2. 接口的组成

接口可以包含以下成员:

①属性

       接口中的所有属性均被视静态常量。例如,下面几种方式的声明是等效的:

int num = 10;

public int num = 10;

public static final int num = 10;

②抽象方法

接口中所有方法均为抽象方法。例如,下面两种方式的声明是等效的:

public abstract void takeoff();

 

public interface Flyer {

 

    public abstract void takeoff();

    public void land();

public void fly();

 

}

 

 

7.7.2 接口的使用

1、有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。有了接口,就可以得到多重继承的效果。

2、一个类可以实现多个接口,

3、接口不能被实例化

  • 具体类(子类)可以实现接口(父类) ,并实现接口中的全部抽象方法
  • class SubClass implements InterfaceA{ }

 

4、具体类适用父接口的多态

5、接口也可以继承其它接口。

6、实现接口的类中必须提供接口中所有方法的具体实现内容,方可实例化。否则,仍为抽象类。

7、接口的主要用途就是被实现类实现。(面向接口编程)

8、一个类可以同时继承父类并实现接口