码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 第八章 接口


    1、接口的基本概念和基本特征

    1、接口的概念

    【解释1】:

    • 概念性的接口,指的是系统向外界提供的所有服务。类的所有能够被外部访问者访问的方法构成了类的接口。

    【解释2】:

    • 使用interface定义的真真实实的接口,也被称为接口类型。主要是用于明确的描述系统对外提供的所有服务,它能够更加清晰的把系统的实现细节与接口分离。

    【语法】:

    访问修饰符 interface 接口名称{
    //抽象方法
    }
    
    • 1
    • 2
    • 3

    2、接口的特征

    • 接口中的成员变量默认都是public 、static、final类型的,必须被显示初始化,并且只能包含public、static、final类型的变量。
    • 接口中的方法默认都是public、abstract类型的。
    • 在jdk8以前在接口中只允许有抽象方法,在1.8之后,可以在接口中定义静态方法和默认方法。默认方法使用关键字default,拥有默认的实现,可以被实现类直接访问和重写。
    • 接口中没有构造方法,不能被实例化。
    • 一个接口不能实现另一个接口,但是可以继承多个其他接口。
    • 当一个类实现了某个接口的时候,必须实现其接口中的所有方法,否则该类必须被定义为抽象类。
    • 使用过程中不允许创建接口的实例对象,但是接口可以作为接口类型来接收子类的实例对象。(多态)

    2、比较抽象类与接口

    【相同点】:

    • 都代表系统的抽象层。
    • 都不能被创建实例对象。
    • 都能包含抽象方法,这些抽象方法用于描述系统能提供那些服务。
    • 都可以有默认的实现方法。(JDK1.8之后接口才可以定义默认方法和静态方法。)

    【不同点】:

    • 接口中的成员变量只能是public static final类型的变量,而抽象类中可以定义任意类型的成员变量。
    • 一个类只能继承一个直接父类,这个父类可能是抽象类,但是可以实现多个接口。

    3、抽象类和接口使用原则

    • 用接口作为系统与外界交互的窗口,接口是系统中最高层次的抽象类型。
    • 由于外界使用者依赖系统的接口,并且系统内部会实现接口,因此接口本身必须十分稳定,接口一旦指定,就不允许随意修改,否则会对外界使用者及系统内部都造成影响。
    • 用抽象类来定制系统中的扩展点。
  • 相关阅读:
    java计算机毕业设计知道特产网源代码+系统+数据库+lw文档
    Cadence Allegro 高亮功能的使用技巧图文教程
    服务器技术(二)--Linux进阶应用(2)--Linux用户与权限及CentOS7防火墙firewall
    Linux【实操篇-时间日期类 用户和用户组管理】
    JavaEE初阶(18)(JVM简介:发展史,运行流程、类加载:类加载的基本流程,双亲委派模型、垃圾回收相关:死亡对象的判断算法,垃圾回收算法,垃圾收集器)
    进口跨境商城源码:高效、安全、可扩展的电商平台解决方案
    【漏洞复现-webmin-命令执行】vulfocus/webmin-cve_2019_15107
    系统架构设计师 - 数据库系统(2)
    NumPy(一)
    英语单词记忆(词缀 / 前缀)
  • 原文地址:https://blog.csdn.net/m0_37911124/article/details/126060071
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号