接口

前言

  接口是Java中的一个非常重要的概念。它用来描述类有什么功能,而不给出每个功能的具体实现。

  本文将通过实例讲解接口的定义和使用。

接口的存在意义

  在C++中,很多书籍都会强调要谨慎地使用多继承。

  多继承有什么弊端,请参考相关资料。而接口,是Java为了避免多继承而提供的一种机制。

  在实际项目中,需求方往往将需求发布成一个个接口的型式,作为类的开发者则去编写实现这个接口。

  很多系统提供的方法,比如说 sort 方法,它就要求它的处理对象必须实现了Comparable接口。这样就能使得开发的过程变得规律,有序。

接口的使用步骤

  1. 首先,定义一个接口。如下所示:

1 package test;
2 
3 public interface TestIf {
4     // 定义一个方法(继承时实现)
5     int testFun() ;
6 }

  2. 在当前工程的某个类中,可继承此接口并实现接口中的方法:

1 package test;
2 
3 // 继承接口
4 public class A implements TestIf{
5     // 实现接口方法
6     public void testFun()  {
7         System.out.println("Hello Interface!");
8     }
9 }

  3. 接下来,2 中实现的接口便能被其他约定好了的类调用了,下面给出一种常见的接口方式:

 1 package test;
 2 
 3 public class Java7Learn {
 4     // 此方法型参为接口类型
 5     public void testIfFun(TestIf testIf) {
 6         testIf.testFun();
 7     }
 8     
 9     public static void main(String[] args){
10         // new主类。因为下面要调用非静态函数
11         Java7Learn java7Learn = new Java7Learn();
12         // new一个实现了接口的类
13         A a = new A();
14         
15         // 传递进testIfFun方法的实参为继承并实现了此接口的类的对象A
16         java7Learn.testIfFun(a);
17     }    
18 }

运行结果

  

小结

  1. 要多在实际项目中从面向对象的角度,从模拟现实的角度来思考接口的意义,才能真正用好接口,写出更高质量的代码。

  2. 在后面的文章中介绍对象的拷贝以及算法的使用等时候,也会进一步的介绍接口的使用方法。

原文地址:https://www.cnblogs.com/scut-fm/p/4147681.html