在Java 9+版本中,接口的内容可以有:

1:成员变量其实是常量格式:
[public][static][final] 数据类型 常量名称 =数据值;
注意:
常量必须进行赋值,而且一旦赋值不能改变
常量名称建议完全大写,且用下划线进行分隔。
public static final int NUM_OF_MYINTERFACE=10;
2:接口中最重要的就是抽象方法,格式:
[public][abstract] 返回值类型 方法名称(参数列表);
注意:实现类必须覆盖重写接口所有的抽象方法,除非实现类也是抽象类
public abstract void interfaceA(Integer a);
3:从JAVA 8开始, 接口里允许定义默认方法 格式
[public] default 返回值类型 方法名称(参数列表){方法体}
public default void InterfaceDefault(){
System.out.in.println("你好")
}
我对它的理解是扩展了接口的可维护性,当你要对接口增加新的功能方法时,你就不需要对实现接口的实现类一一进行修改了 4:从JAVA 8开始,接口里允许定义静态方法,格式:
[public][static] 返回值类型 方法名称(参数列表){方法体}
注意:应该通过接口名称进行调用,不能通过实现类对象调用接口静态方法 从JAVA 9开始,接口里允许定义私有方法,格式:
普通私有方法:private 返回值类型 方法名称(参数列表){方法体}
静态私有方法:private static 返回值类型 方法名称(参数列表){方法体}
注意:private方法只有接口自己能调用,不能被实现类或者别人调用
public interface Test{
//以静态为例
public static void methodDefault1(){
System.out.println("静态方法1");
methodStaticCommon();
}
public static void methodDefault2(){
System.out.println("静态方法2");
methodStaticCommon();
}
private static void methodStaticCommon(){
System.out.println("aaaaaa");
System.out.println("aaaaaa");
System.out.println("aaaaaa");
} }

Java9,8,7中接口的内容的更多相关文章

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

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

  2. PHP面向对象学习五 类中接口的应用

    类中接口的应用 接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用   抽象类:1.类中至少有一个抽象方法.2.方法前需要加abstract 接口: 1.类中全部为抽象方法,抽象方法前不 ...

  3. JAVA中接口与抽象类

    抽象类总结 抽象类的概念:是使用关键字abstract修饰的类就是抽象类: 抽象类的产生:当多个不能相互继承的类具有相同的功能时,就需要将共同的信息向上抽取,放到公共的父类中:如果公共的父类只能描述所 ...

  4. C++中接口与实现分离的技术 ZZ

    最简单清晰的例子:http://www.cnblogs.com/maoye/archive/2010/03/19/1690183.html 接口与实现分离 为什么这样设计? 主要原因是保持接口的稳定, ...

  5. vue 中展示PDF内容

    vue 中展示PDF内容 不久前有个需要改的需求,以前是直接根据链接让用户下载对应pdf文件来查看,最主要是给用户查看,然而这种并不是很安全的,其他用户可以进行下载或者使用pdf链接分享给其他人,所以 ...

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

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

  7. mailto实现将用户在网页中输入的内容传递到本地邮件客户端

    背景: 想在自己的网站中有这样一个设计: 用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样: mailto可以帮助实现这个功能. 简介: mail ...

  8. s:textarea中的文本内容在什么时候才能被赋值给Action中的属性?

    下面是jsp程序片段: <s:form id="startForm" name ="startForm" action="/hall/hall_ ...

  9. excel表格中如何将内容粘贴到筛选后的可见单元格[转]

    默认情况下,筛选后excel表格进行复制粘贴,会贴到隐藏的表格. 可以添加两个辅助列来完成操作:1.在筛选前在表格右边添加"辅助1"列,在第二行输入1,按Ctrl+鼠标左键往下拉到 ...

随机推荐

  1. NLP之gensim

    一. 利用 jieba 进行分词,关键词提取 利用gensim下面的corpora,models,similarities 进行语料库建立,模型tfidf算法,稀疏矩阵相似度分析 # -*- codi ...

  2. vb.net导出CSV文件

    Public Function WriteToCSV(ByVal dataTable As DataTable, ByVal filePath As String, ByVal records As ...

  3. Linux之关于用户的几个重要配置文件

    . /etc/skel/ 用来存放新用户配置文件(环境变量)的目录,当创建新用户时,系统会把当下目录的所有文件拷贝一份到新用户家目录中,即:cp -a /etc/skel/* /home/ddu 2. ...

  4. CodeForces - 876C Classroom Watch (枚举)

    题意:已知n,问满足条件"x的各个数字之和+x=n"的x有几个并按升序输出. 分析: 1.n最大1e9,10位数,假设每一位都为9的话,可知x的各个数字之和最大可以贡献90. 2. ...

  5. iOS大V博客

    王巍的博客:王巍目前在日本横滨任职于LINE.工作内容主要进行Unity3D开发,8小时之外经常进行iOS/Mac开发.他的陈列柜中已有多款应用,其中番茄工作法工具非常棒. http://onevca ...

  6. <强化学习>基于采样迭代优化agent

    前面介绍了三种采样求均值的算法 ——MC ——TD ——TD(lamda) 下面我们基于这几种方法来 迭代优化agent 传统的强化学习算法 || ν ν 已经知道完整MDP——使用价值函数V(s) ...

  7. centos7下安装maven

    步骤1:在home目录下解压apache-maven-3.5.0-bin.tar.gz安装包 [root@model ~]# -bin.tar.gz 步骤2:创建/maven目录并将解压后的文件夹移至 ...

  8. net Core3.1 Swagger加JWT权限

    1.Swagger中开启JWT服务 #region swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new ...

  9. DNS and Bind

    DNS  :  工作在应用层 DNS 作用 :  完成域名到IP的解析过程  FQDN --> IP 例如  :  www.ifeng.com  -->  123.103.122.24 D ...

  10. Xmanager 实现图形化安装CentOS7上的软件

    Xmanager 是个很不错的工具,集成Xshell,Xftp,Xstart,Xbrowser等常用的远程工具. 当前需求为:有个软件,哑安装(静默安装)方式,在安装时会遇到配置文件加载不全,安装成功 ...