什么是接口
- 面向接口编程就是将程序的业务逻辑提取出来,以接口的形式去对接不同的业务模块,接口只串联不实现,真正的业务逻辑交给接口的实现类来完成,当用户需求发生变更时,只需切换不同的实现类即可。
1. 面向接口编程的优点:
- 能够最大限度地解耦合,降低程序的耦合性,提高程序的可维护性,可扩展性。
- 使程序便于扩展。
- 有利于程序的后期维护。
2. 如何定义接口
接口是Java中独立存在的一种结构,类似于类,使用接口,首先需要创建一个接口文件,Java中用class来标示类,用interface来标示接口。
基本语法:
public interface 接口名{
public abstract 返回值 方法名(参数列表);
}
接口中不能有普通方法,全部是抽象方法,因为接口中全部都是抽象方法,所以每一个方法的abstract关键字都可以省略。
*3. 同时接口中可以定义成员变量,但是有要求:
- 不能定义 private 和 protected 修饰的成员变量,只能定义 public 和默认访问权限修饰的成员变量。
- 接口中的成员变量在定义时必须被初始化。
- 接口中的成员变量都是静态常量,即可以直接通过接口访问,同时值不能被修改。
public interface MyInterface {
public int ID = 0;
String NAME = "";
public void test();
}
4. 接口与抽象类的区别
接口其实就是一个极度抽象的抽象类
- 抽象类中可以包含非抽象方法,抽象类中也可以没有抽象方法,
- 接口中不能有任何非抽象方法的存在,接口中的方法必须全部是抽象方法,到达了一种极致,所以可以称为极度抽象的抽象类。
5. 抽象类可以被普通类继承,接口只能被接口继承。
6. 如何使用接口
- 因为接口不能被实例化,它描述的是抽象的信息,抽象的信息一定是没有实例,我们需要实例化的是接口的实现类。
- 实现类就是对接口的抽象方法进行具体实现的一个类,实现类就是一个普通的Java类,创建实现类的基本语法:
public class 实现类名 implements 接口名{
//实现接口的抽象方法
public 返回值 方法名(参数列表){
}
}
- 抽象类可以实现接口,同时不去实现接口的抽象方法。