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方法,那么子类就不必全部修改,只需要在需要覆写的地方去覆写新增方法。

  • 相关阅读:
    设计模式——策略模式
    设计模式——设计原则
    设计模式——工厂模式
    设计模式——装饰模式
    C#一些常用方法
    设计模式——代理模式
    设计模式——模板模式
    开始博客园之前的一些相对自己说的话
    Python02 分支结构
    dns轮训python 04
  • 原文地址:https://www.cnblogs.com/21summer/p/13255428.html
Copyright © 2011-2022 走看看