zoukankan      html  css  js  c++  java
  • Java基础知识笔记第六章:接口

    接口

    /*
    使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口声明和接口体
    */
    interface   Printable{
    
    final int max=100;
    void add();
    float sum(float x,float y);
    }

    声明格式:

    interface 接口名

    接口声明:

    //接口体中包含常量的声明(没有变量)和抽象方法两部分。接口体中只有抽象方法,没有普通方法,高版本的jdk即使我们不加abstract,static也会自动帮我们添加

    实现接口

    实现接口:

    class  A  implements   Printable,Addable
    
    class   Dog   extends   Animal   implements    Eatable,Sleepable

    重写接口中的方法:

    如果一个非抽象类实现了某个接口,那么这个类必须重写这个接口中 的所有方法
    /*
    *注意
    */
    
    程序可以用接口名访问接口中的常量,当然如果一个类实现了该接口,也可以直接访问

    接口的UML

    接口回调

    和类一样,接口也是Java中一种重要的数据类型,用接口声明的变量称作接口变量,那么接口变量中可以存放怎样的数据呢?
    接口属于引用型变量,接口变量中可以存放实现该接口的类的实例的引用,及存放对象的引用,比如说,设Com为一个接口,那么就可以用Com声明一个变量
    Com com;
    /*
    
    此时com中的值还是null,假设ImpleCom类实现了Com接口,用ImpleCom创建名字为object的对象那么object对象不仅可以调用ImpleCom类中的原有方法,
    而且也可以调用ImpleCom类实现的接口方法
    */
    Com  com;//接口
    ImpleCom object=new ImpleCom();//接口实现类
    com=object;//赋值
    
    //注意:接口无法调用类中的其他的非接口方法

    理解接口

    1.
    接口可以抽象出重要的行为标准,该行为标准用抽象的方法来表示
    
    2.
    可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出具体行为(面向接口编程)

    接口与多态

    不同的类在实现同一接口的时候可能具有不同 的实现方式,那么接口变量在回调接口方法的时候就可能具有多种形态;
    /*
    *例如:对于a,b两个正数,有人算术平方根(a+b)/2计算
    *       有的人使用几何平均方式:根号(a*b)计算 
    */    

    接口参数

    如果一个方法的参数是接口类型,我们就可以将任何实现该接口的类的引用传递给该方法,那么接口参数就可以回调实现类的接口方法;

    abstract类和接口的比较

    1.abstract  类和接口都有abstract方法
    2.接口中只可以有常量,不能有变量,而 abstract 类既可以有常量也可以有变量
    3.abstract  类中也可以有非abstract方法,接口中不可以

    面向接口编程

    /*
    *接口只关心操作,不关心这些操作的具体实现细节,可以使我们把主要的精力放到程序的设计上不必拘泥细节的实现
    */

    小结

  • 相关阅读:
    xadmin 安装
    Python
    使用免费证书安装 ipa 到真机
    Jupyter PPT
    Javascript注意点
    论文哪里找?
    神经网络术语
    PyTorch上路
    DCGAN实现
    数据库和数据挖掘领域的会议和期刊
  • 原文地址:https://www.cnblogs.com/biaogejiushibiao/p/9735850.html
Copyright © 2011-2022 走看看