zoukankan      html  css  js  c++  java
  • 接口

    参考:https://www.liaoxuefeng.com/wiki/1252599548343744/1260456790454816
    1. 什么是接口
    interface是比抽象类还要抽象的纯抽象方法的集合,因为它连字段都不能有。在抽象类中,抽象方法本质上是定义高层类的接口规范,从而保证所有子类都有相同的接口实现,这样,多态就能发挥出威力。更极端一点,如果一个抽象类没有字段,所有方法全部都是抽象方法,就可以把该抽象类改写为接口:interface。因为接口定义的所有方法默认都是public abstract的,所以这两个修饰符不需要写出来(写不写效果都一样)。
    2. 抽象类与接口的异同
    当一个具体的class去实现一个interface时,需要使用implements关键字。在Java中,一个类只能继承自另一个类,不能从多个类继承。但是,一个类可以实现多个interface。

    abstract class interface
    继承 只能extends一个class 可以implements多个interface
    字段 可以定义实例字段 不能定义实例字段
    抽象方法 可以定义抽象方法 可以定义抽象方法
    非抽象方法 可以定义非抽象方法 可以定义default方法

    3. default方法
    default方法是指在interface的方法前添加default关键字。
    default方法的目的是,当我们需要给接口新增一个方法时,会涉及到修改全部子类(因为子类要实现接口中的所有方法)。如果新增的是default方法,那么子类就不必全部修改,只需要在需要覆写的地方去覆写新增方法。

  • 相关阅读:
    jstl与el学习笔记
    Subversion 安装笔记
    某公司面试
    字符集与字符编码的一些小常识,以及java web中文乱码的一些solution
    分治算法与合并排序示例
    C/C++ 笔试,难倒我哉
    HTML meat作用
    VIM配置DBGp调试PHP程序
    更新系统引导项
    PHP技术讨论群
  • 原文地址:https://www.cnblogs.com/21summer/p/13255428.html
Copyright © 2011-2022 走看看