1、成员变量其实就是常量,格式:

  [public] [static] [final] 数据类型 常量名称 = 数据值;

  注意:

    常量必须进行赋值,而且一旦赋值不能改变。

    常量名称完全大写,用下划线进行分隔。

2、接口中最重要的就是抽象方法,格式:

  [public] [abstract] 返回值类型 方法名称(参数列表);

  注意:实现类必须覆盖重写借口所有的抽象方法,除非实现类是抽象类。

3、Java 8开始,接口允许定义默认方法,格式

  [public] default 返回值类型 方法名称(参数列表){方法体}

  注意:默认方法也可以被覆盖重写

4、Java 8开始,接口允许定义静态方法,格式:

  [public] static 返回值类型 方法名称(参数列表){方法体}

  注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法

5、java 9 开始,允许接口定义私有方法,格式:

   普通私有方法:private 返回值类型 方法名称(参数列表){方法体}

   静态私有方法:private static 返回值类型 方法名称(参数列表){方法体}

   注意:private 的方法只有接口自己才能调用,不能被实现类或别人使用

================================================================================

使用接口时,需要注意:

 1、接口是没有静态代码块或构造方法的

 2、一个类的直接父类是唯一的,但是一个类可以同时实现多个接口

 3、如果实现类所有实现的多个接口当中,存在重复的抽象方法,那么只需要重新一次即可

 4、如果实现类没有覆盖重写所有接口当中的抽象方法,那么实现类就必须是一个抽象类

 5、如果实现类实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写

 6、一个类如果直接父类当中的方法和接口中的默认方法产生冲突,优先有父类当中的方法

在java9+版本中,接口的内容和注意的更多相关文章

  1. Java9,8,7中接口的内容

    在Java 9+版本中,接口的内容可以有: 1:成员变量其实是常量格式:[public][static][final] 数据类型 常量名称 =数据值:注意: 常量必须进行赋值,而且一旦赋值不能改变 常 ...

  2. Java9+版本中,Interface的内容

    使用接口的注意事项: 1.接口没有静态代码块或者构造方法 2.一个类的父类是唯一的,但是一个类可以同时实现多个接口(区别) 3.如果实现类实现多个接口有重名的抽象方法,那么实现类只需要覆盖重写一个即可 ...

  3. java 9+版本中,接口的内容总结

    java 9+版本中,接口的内容可以有: 1.成员变量其实是常量,格式: [public]  [static]  [final] 数据类型 常量名称=数据值: 注意: 常量必须进行赋值,而且一旦赋值不 ...

  4. OpenGL2.0及以上版本中glm,glut,glew,glfw,mesa等部件的关系

    OpenGL2.0及以上版本中gl,glut,glew,glfw,mesa等部件的关系 一.OpenGL OpenGL函数库相关的API有核心库(gl),实用库(glu),辅助库(aux).实用工具库 ...

  5. 在SSIS 的 64 位版本中不支持 Excel 连接管理器

    Microsoft sql server 2008 R2——> SQL SERVER Business Intelligence Development Studio 使用EXCEL数据源或目标 ...

  6. ASP.NET Core 3.0 实战:构建多版本 API 接口

    第一次在博客写分享,请多多捧场,如有歧义请多多包含! 因为业务需求发展需要,所以API接口的变更升级是必不可少的事情,而原有的接口是不可能马上停止使用的.例如:Login接口为例,1.0版本之返回用户 ...

  7. liveCD版: CD光盘映像,和liveDVD一样,唯一的区别就是该版本中包含的软件包会少一点,安装系统时使用 U 盘或者CD光盘进行安装。

    https://man.linuxde.net/download/CentOS/ CentOS,英文全称"Community Enterprise Operating System" ...

  8. Java 中接口和抽象类的 7 大区别!

    本文已收录<Java常见面试题>:https://gitee.com/mydb/interview ​ Java 是一门面向对象的编程语言,面向对象的编程语言有四大特征:抽象.封装.继承和 ...

  9. cctype头文件中的一些内容

    1. string 标准库 1.1初始化 string s1; 默认构造函数s1为空 string s2(s1); 将s2初始化为s1的一个副本 string s3(“value”); 将s3初始化为 ...

随机推荐

  1. devops工具链概述

    1. devops工具链概述  1)devops工具篇 2) 持续集成 3) 持续交付 4) 持续部署 2. devops工具链概述

  2. ThreadLocal什么时候会出现OOM的情况?为什么?

    ThreadLocal里面使用了一个存在弱引用的map,当释放掉threadlocal的强引用以后,map里面的value却没有被回收.而这块value永远不会被访问到了. 所以存在着内存泄露. 最好 ...

  3. nginx的变量系统

    本来想写一下nginx的脚本引擎的,但是看起来实在是有点庞大,一时间还不知道该从哪里写比较好.就先写一下他的变量系统吧,这是脚本引擎非常重要的组成部分. 首先为了表述清楚先规定几个术语吧 内置变量:n ...

  4. 多测师讲解接口自动化测试 _requests_高级讲师肖sir

    rep=requests.post 错误方法: 1.在代理中---把高级中----代理-----去除勾选,调用失败

  5. 【博弈论】CF 1215D Ticket Game

    题目大意 洛谷链接 给出一个长度为\(n\)的由数字组成的字符串(\(n\)是偶数).但可能有偶数个位上的数字为?. 现在有两个人\(A\)和\(B\),在?的位置上填\(0\)~\(9\)的数,一直 ...

  6. electron-updater实现更新electron应用程序

    electron-updater实现更新electron应用程序 第一步 安装"electron-updater": "^4.3.5", 打开package.j ...

  7. C#数据结构-队列

    队列作为线性表的另一个数据结构,只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表. 先来看下用法: Queue queue = new Queue(); ...

  8. Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs

    这篇论文试图将GAT应用于KG任务中,但是问题是知识图谱中实体与实体之间关系并不相同,因此结构信息不再是简单的节点与节点之间的相邻关系.这里进行了一些小的trick进行改进,即在将实体特征拼接在一起的 ...

  9. 2020-2021-1 20209306 《linux内核原理与分析》第二周作业

    一.实验一内容及分析 1.实验一内容过程截图 2.实验一完成后收获 可以看到汇编代码中出现了eax.esp.ebp.eax是累加寄存器,esp是堆栈指针寄存器,ebp是基指针寄存器.汇编代码中用到了m ...

  10. AWS Lambda 借助 Serverless Framework,迅速起飞

    前言 微服务架构有别于传统的单体式应用方案,我们可将单体应用拆分成多个核心功能.每个功能都被称为一项服务,可以单独构建和部署,这意味着各项服务在工作时不会互相影响 这种设计理念被进一步应用,就变成了无 ...