• java接口(interface)


    引入:抽象类是从多个类中抽象出来的模板,若要将这种抽象进行得更彻底,就得用到一种特殊的“抽象类”→ 接口;

    例子:

    生活中听说过的USB接口其实并不是我们所看到的那些插槽,而是那些插槽所遵循的一种规范;而我们看到的那些插槽是根据USB规范设计出来的实例而已,也就说插槽是USB的实例;

    对应不同型号的USB设备而言,他们各自的USB插槽都需要遵循一个规范,遵守这个规范就可以保证插入插槽的设备能与主板正常通信;

    对于同一种型号的主板上的多个USB插槽,他们有相同的数据交换方式,相同的实现细节,可认为他们都是同一个类的不同实例

    我的总结:

    接口只定义了类应当遵循的规范,却不关心这些类的内部数据和其方法内的实现细节.

    接口只规定了这些类里必须提供的方法;从而分离了规范和实现.增强了系统的可拓展性和维护性;

    使用接口的好处,拓展性,维护性更好,所以我们在开发中会经常用到接口.(相当于定义了一种标准)

    接口,类,对象示意图

    interface定义

    接口定义一种规范,规定一个类必须做什么,但它不管如何具体去做;

    [修饰符] interface 接口名 extends 父接口1,父接口2....

    没有构造方法,不能实例化;

    接口只能继承接口,不能继承类

    接口里没有普通方法,方法全是抽象的;

    接口里的方法默认修饰符是public abstract

    接口里的字段全是全局常量,默认修饰符是public static final;

    接口里的成员包括(主要是前两个)

    全局常量

    公共的抽象方法

    内部类(包括内部类,内部接口,内部枚举类);

    我的总结:

    接口没有构造方法,不能实例化!

    接口里的方法全部是抽象的,没有普通方法,有默认的修饰符 public abstract,必须全部覆写!

  • 相关阅读:
    Java 流(Stream)、文件(File)和IO
    归并排序(Java)
    TreeMap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素?
    动态规划—矩阵链乘法
    SQL Server 行列转换
    dropdownlist无刷新传值
    ASP.NET在主题中添加CSS文件
    asp.net网站后台退出后,点后退按钮仍能进,如何安全退出
    下拉框数据绑定两种方式
    win7安装IIS及将网站发布到IIS上
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11131572.html
Copyright © 2020-2023  润新知