美文网首页刻意练习:每天一张思维导图(IT类)Java 杂谈Java
《Java编程的逻辑》笔记 19 - 接口的本质

《Java编程的逻辑》笔记 19 - 接口的本质

作者: 天一方蓝 | 来源:发表于2019-06-06 23:36 被阅读80次
    接口的本质.png

    概念

    很多时候,我们实际上关心的,并不是对象的类型,而是对象的能力

    Java使用接口这个概念来表示能力

    作用

    双方对象并不直接互相依赖,它们只是通过接口间接交互


    image.png

    使用

    • 定义接口
    image.png

    interface关键字声明接口,修饰符一般都是public。

    interface后面就是接口的名字MyComparable。

    接口定义里面,声明了一个方法compareTo,但没有定义方法体,接口都不实现方法。接口方法不需要加修饰符,加与不加都是public的,不能是别的修饰符。

    compareTo方法

    方法的参数是一个Object类型的变量other,表示另一个参与比较的对象。

    第一个参与比较的对象是自己

    返回结果是int类型,-1表示自己小于参数对象,0表示相同,1表示大于参数对象

    • 实现接口


      image.png

    implements关键字表示实现接口,前面是类名,后面是接口名。

    实现接口必须要实现接口中声明的方法,Point实现了compareTo方法

    Point的compareTo实现

    Point不能与其他类型的对象进行比较,它首先检查要比较的对象是否是Point类型,如果不是,使用throw抛出一个异常

    如果是Point类型,使用强制类型转换将Object类型的参数other转换为Point类型的参数otherPoint。

    这种显式的类型检查和强制转换是可以使用泛型机制避免的

    • 使用接口

    接口不能new,不能直接创建一个接口对象,对象只能通过类来创建。但可以声明接口类型的变量,引用实现了接口的类对象


    image.png image.png

    针对接口而非具体类型进行编程,是计算机程序的一种重要思维方式

    代码复用

    更重要的是降低了耦合,提高了灵活性

    接口的细节

    • 接口中的变量

    接口中可以定义变量

    修饰符是public static final,但这个修饰符是可选的,即使不写,也是public static final

    image.png
    • 接口的继承

    接口也可以继承,一个接口可以继承别的接口,继承的基本概念与类一样,但与类不同,接口可以有多个父接口


    image.png
    • 类的继承与接口

    类的继承与接口可以共存

    image.png
    • instanceof

    与类一样,接口也可以使用instanceof关键字


    image.png

    使用接口替代继承

    使用接口,针对接口编程,可以实现统一处理不同类型的对象,但接口没有代码实现,无法复用代码。将组合和接口结合起来,就既可以统一处理,也可以复用代码了

    相关文章

      网友评论

        本文标题:《Java编程的逻辑》笔记 19 - 接口的本质

        本文链接:https://www.haomeiwen.com/subject/deppxctx.html