接口学习笔记

文章目录

  • 接口学习笔记
    • 1.接口的概述与生活中的举例
    • 2.接口定义的基本格式
    • 3.接口的抽象方法
    • 3.1接口抽象方法的定义
      • 3.2接口的抽象方法使用
    • 4.接口的默认方式
      • 4.1接口的默认方法定义
      • 4.2接口的默认方法使用
    • 5.接口的静态方法
      • 5.1 接口的静态方法定义
      • 5.2接口的静态方法使用
    • 7. 接口的私有方法
      • 7.1接口的私有方法定义
      • 7.1.1接口的普通私有方法定义
    • 7.1.2接口的静态私有方法定义
      • 7.2接口的普通私有方法使用静态私有方法执调用
    • 8.接口的常量
      • 8.1接口的常量的定义
      • 8.2接口的常量的使用
    • 9.接口内容小结

1.接口的概述与生活中的举例

接口的概述与生活中的举例
生活中举例 电源擦桌当中的电源接口 ,不管是手机还是电脑还是其他电器、充电或者使用都学要使用电源接口。因为在制作电器过程中他们的接口都是统一的符合国家标准的,只要符合规范标准就可以大家通用。
再例如U盘 只要符合USB接口标准 那么各种设备都可以使用。
所以接口就是一种公共的规范标准 !

2.接口定义的基本格式

Interface 接口
接口是多个类的公共规范。
接口是一个引用数据类型 最重要的内容就是其中的:抽象方法。
如何定义一个接口:
格式 public interface 接口名称 (){
接口内容
}

3.接口的抽象方法

3.1接口抽象方法的定义

在任何Java版本中都可以定义抽象方法
注意:接口中的 修饰符必须是固定的两个关键字一个是public 一个是abstract 关键字 可以省略不写 但是 不可修改成别的关键字。
方法的三要素可以随意定义。
抽象方法格式:public abstract 返回值类型 方法名称(参数列表);

3.2接口的抽象方法使用

接口不能直接使用 如要使用 必须有一个实现类来实现接口
格式public class 实现类 implements 接口名称 {
方法体
}
接口的实现类必须覆盖重写接口中的所有抽象方法。
创建实现类的对象,进行使用。
注意事项:如果实现类没有全部覆盖重写接口中的所有抽象方法,那么实现类自己本身就必须是一个抽象类。
实现类的创建

通过实现类调用抽象方法
1.创建实现类

2调用方法 对象名.抽象方法名

运行结果

4.接口的默认方式

4.1接口的默认方法定义

定义格式 public default 返回值类型 方法名称 (参数列表){
方法体
}
备注:接口中的默认方法,可以解决接口升级的问题。
实现接口接口类必须覆盖重写接口中的所有抽象方法 如果实现类已经投入使用 需要升级更新接口 那么就需要用到默认方法。

4.2接口的默认方法使用

接口的默认方法可以被接口实现类直接调用
接口的默认方法也可以被接口实现类进行覆盖重写。

在接口中创建默认方法
创建实现类
实现创建的默认方法
执行结果

5.接口的静态方法

5.1 接口的静态方法定义

格式 public static 返回值类型 方法名称 (){
方法体
}
就是将 abstact或者default 换成 static即可,并且带上方法体。

5.2接口的静态方法使用

注意:不能通过接口实现类的对象来调用接口中的静态方法
正确调用方法:通过接口名称直接调用静态方法
接口名称.静态方法名称 (参数);
创建实现类

通过实现类实现静态方法
执行结果

7. 接口的私有方法

7.1接口的私有方法定义

情况:我么需要一个共有方法,用来解决默认方法之间冲锋衣代码的问题。但是这个公有方法不应该让实现类使用,应该是私有化的。
解决方案:
使用私有方法
情况案例

7.1.1接口的普通私有方法定义

普通私有方法,解决多个默认方法时间的重复代码问题;
格式:private 返回值类型 方法名称 (参数){
方法体
}

7.1.2接口的静态私有方法定义

静态私有方法,解决多个静态方法代码重复问题;
格式:
private static 返回值类型 方法名称 (参数){
方法体
}

7.2接口的普通私有方法使用静态私有方法执调用

普通私有方法钓调用
执行结果

静态私有方法调用
静态私有方法执行结果

8.接口的常量

8.1接口的常量的定义

接口当中也可以定义“成员变量”,但必须使用 public static final 三个关键字进行修饰。从效果上看,这就是接口的【常量】。
一旦使用了final 说明不可改变
格式:
public static final 数据类型 常量名称 = 数据值;

8.2接口的常量的使用

使用方法 接口名称.常量名称();
注意事项:接口中的常量必须赋值

9.接口内容小结

1.在Java中员变量其实就是常量,格式:
public static final 数据类型 常量名称 = 数据值;
注意:常量必须进行赋值,而且一旦赋值不能改变。
常量名称完全大写,用下划线进行分割。

2.在接口中最重要的就是抽象方法,格式:
public abstract 返回值类型 方法名称 (参数列表);
注意: 实现类必须覆盖重写接口中所有的抽象方法,除非实现类也是抽象类。

3.接口里允许定义默认方法,格式:
public default 返回值类型 方法名称(参数列表){方法体}
注意: 默认方法可以直接使用接口调用也可以被覆盖

4.接口里允许定义静态方法,格式:
public static 返回值类型 方法名称(参数列表) {方法体}
注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法。

5.接口里允许定义私有方法,格式:
普通私有方法:public 返回值类型 方法名称(参数列表){方法体}
静态私有方法:private static 方法名称(参数列表){方法体}
注意:private的方法只有接口自己才能调用,不能被实现类或别人使用。

Java自学.接口学习笔记!相关推荐

  1. java/android 设计模式学习笔记(1)--- 单例模式

    前段时间公司一些同事在讨论单例模式(我是最渣的一个,都插不上嘴 T__T ),这个模式使用的频率很高,也可能是很多人最熟悉的设计模式,当然单例模式也算是最简单的设计模式之一吧,简单归简单,但是在实际使 ...

  2. java.util.List学习笔记

    概述 在Java中,List是一种特殊的集合结构,即:List是一种有序的集合.在List接口的实现中,需要提供根据列表下表对元素进行操作的方法,包括:插入,删除,查询和修改等: List一般允许重复 ...

  3. Java 8 实战学习笔记

    Java 8 实战学习笔记 @(JAVASE)[java8, 实战, lambda] 文章目录 Java 8 实战学习笔记 参考内容 Lambda表达式 Lambda环绕执行模式(抽离步骤) 原始代码 ...

  4. Java编程思想学习笔记-第11章

    <?xml version="1.0" encoding="utf-8"?> Java编程思想学习笔记-第11章 Java编程思想学习笔记-第11章 ...

  5. 《疯狂Java讲义》学习笔记 第六章 面向对象(下)

    <疯狂Java讲义>学习笔记 第六章 面向对象(下) 6.1包装类 基本数据类型 包装类 byte Byte short Short int Integer long Long char ...

  6. 阿里云Apsara Clouder专项技能认证-实现调用API接口-学习笔记

    Apsara Clouder专项技能认证-实现调用API接口-学习笔记 阿里云的一个小认证,闲来无事,考一下 一.API简介 API的概念 API(Application Programming In ...

  7. Java基础篇 学习笔记

    List item Java基础篇 学习笔记 java基础篇 第1章 计算机.程序和java概述 学习笔记 1.1什么是计算机 简单来说:计算机就是 ' 存储 ' 和 ' 处理 ' 数据的电子设备. ...

  8. 01.Java 编程入门学习笔记20210307

    Java 编程入门学习笔记-day01 第0章:编程入门 1.计算机的概述 计算机 = 硬件 + 软件 1.1硬件:冯诺依曼体系 CPU: CPU的衡量标准:速度的计量单位是赫兹(Hz),1Hz相当于 ...

  9. Java微服务学习笔记(一):微服务架构的概念理解

    Java微服务学习笔记 Tips:入门学习时粗略整理,仅供参考 (一):架构的基础理解 文章目录 Java微服务学习笔记 前言 一.微服务是什么? 二.常用开源微服务框架演化 1. Dubbo 2. ...

最新文章

  1. .NET深入学习笔记(3):垃圾回收与内存管理
  2. 网站服务器日志都有哪些,网站服务器日志在哪里看?
  3. 【Java Web开发指南】Java插入中文到数据库中文变成问号解决
  4. C#23种开发模式,陆续完善中
  5. Linux nginx搭建文件服务器
  6. Apache的架构师总结出30条架构设计原则
  7. Ubuntu中anaconda的安装及使用
  8. 简单树匹配算法STM-理论篇
  9. 【转载】spring mvc 使用session
  10. tomcat启动内存设置以及字符集设置
  11. 结露温度计算器_结露计算
  12. 计算几何02_三次样条曲线
  13. Origin双Y轴柱状图画法及两柱重合有间居问题解决
  14. 三国杀服务器维修,三国杀云服务器
  15. 美国伊利诺伊大学香槟分校计算机专业,美国伊利诺伊大学香槟分校的专业排名分析...
  16. 关于计算机软件的使用 正确的认识应该是,计算机二级考试单选题训练题库
  17. Uber 机器学习平台 — 米开朗基罗
  18. LienJack-2年前端面试心路历程(字节跳动、YY、虎牙、BIGO)
  19. Google advertiser 开发
  20. n9006 android6,超详细三星Note3(N9006)ROOT教程

热门文章

  1. canvas动画及案例
  2. 算法工程师与软件开发工程师的区别
  3. Linux的firewalld防火墙学习笔记220929
  4. (附源码)计算机毕业设计SSM语言学习系统
  5. Ceph: ceph基础知识
  6. UESTC 1265
  7. Spring Cloud Feign 请求时附带请求头
  8. Visual Studio 2019 打包生成.exe安装文件,附带.net框架与自定义安装插件
  9. 【2017-02-05】【抓包】鼠大侠鼠标连点器去广告
  10. bing搜索PubHub发布商指南