zoukankan      html  css  js  c++  java
  • 接口

    前言

      接口是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. 在后面的文章中介绍对象的拷贝以及算法的使用等时候,也会进一步的介绍接口的使用方法。

  • 相关阅读:
    3B1B微分方程系列笔记(一)
    洛谷P1127 【词链】欧拉通路,欧拉回路+dfs
    龟速乘,快速乘法
    单调队列优化O(N)建BST P1377 [TJOI2011]树的序
    洛谷 p4302的dp中的细节讨论
    manacher(马拉车算法)
    博弈论(入门,持续更新)
    洛谷P1295 [TJOI2011]书架 线段树优化dp,单调栈
    洛谷P1712 [NOI2016]区间 尺取法+线段树+离散化
    洛谷 P1131 [ZJOI2007]时态同步
  • 原文地址:https://www.cnblogs.com/scut-fm/p/4147681.html
Copyright © 2011-2022 走看看