【JavaSE】Java基础语法(十九):接口新特性

简介: 1. 接口组成更新概述常量:接口可以定义全局常量,使用关键字public static final修饰。抽象方法:接口中可以定义抽象方法,使用关键字public abstract修饰。实现类必须实现接口的所有抽象方法。

1. 接口组成更新概述

常量:接口可以定义全局常量,使用关键字public static final修饰。

抽象方法:接口中可以定义抽象方法,使用关键字public abstract修饰。实现类必须实现接口的所有抽象方法。

默认方法(Java8):接口可以包含默认方法(default method),使用关键字default修饰。默认方法有默认的实现,实现类可以直接调用默认方法,也可以选择重写它。


静态方法(Java8):接口中还可以定义静态方法(static method),使用关键字public static修饰。静态方法只能被接口本身调用,并且不能被实现类重写或继承。


私有方法(Java9):可以有用私有方法。

2. 接口中默认方法

  • 格式
    public default 返回值类型 方法名(参数列表) { }
  • 作用
    解决接口升级的问题
  • 范例
public default void show3() {
}
  • 注意事项
  • 默认方法不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键
  • public可以省略,default不能省略
  • 如果实现了多个接口,多个接口中存在相同的方法声明,子类就必须对该方法进行重写


3. 接口中静态方法

  • 格式
    public static 返回值类型 方法名(参数列表) { }
  • 范例
public static void show() {
}
  • 注意事项
  • 静态方法只能通过接口名调用,不能通过实现类名或者对象名调用
  • public可以省略,static不能省略

4. 接口中私有方法


私有方法产生原因

Java 9中新增了带方法体的私有方法,这其实在Java 8中就埋下了伏笔:Java 8允许在接口中定义

带方法体的默认方法和静态方法。这样可能就会引发一个问题:当两个默认方法或者静态方法中包

含一段相同的代码实现时,程序必然考虑将这段实现代码抽取成一个共性方法,而这个共性方法是

不需要让别人使用的,因此用私有给隐藏起来,这就是Java 9增加私有方法的必然性


定义格式

格式1

private 返回值类型 方法名(参数列表) { }

范例1

private static 返回值类型 方法名(参数列表) { }

范例2

private static void method() {
}

注意事项

默认方法可以调用私有的静态方法和非静态方法

静态方法只能调用私有的静态方法

相关文章
|
4月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
4月前
|
Java
Java基础语法与面向对象
重载(Overload)指同一类中方法名相同、参数列表不同,与返回值无关;重写(Override)指子类重新实现父类方法,方法名和参数列表必须相同,返回类型兼容。重载发生在同类,重写发生在继承关系中。
181 1
|
4月前
|
存储 SQL NoSQL
Redis-常用语法以及java互联实践案例
本文详细介绍了Redis的数据结构、常用命令及其Java客户端的使用,涵盖String、Hash、List、Set、SortedSet等数据类型及操作,同时提供了Jedis和Spring Boot Data Redis的实战示例,帮助开发者快速掌握Redis在实际项目中的应用。
344 1
Redis-常用语法以及java互联实践案例
Java API 开发者
157 0
|
5月前
|
算法 Java 测试技术
零基础学 Java: 从语法入门到企业级项目实战的详细学习路线解析
本文为零基础学习者提供完整的Java学习路线,涵盖语法基础、面向对象编程、数据结构与算法、多线程、JVM原理、Spring框架、Spring Boot及项目实战,助你从入门到进阶,系统掌握Java编程技能,提升实战开发能力。
345 0
|
5月前
|
存储 Java 容器
Java基本语法详解
本文深入讲解了Java编程的基础语法,涵盖数据类型、运算符、控制结构及数组等核心内容,帮助初学者构建坚实的编程基础。
|
6月前
|
Java 数据库连接 数据库
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
本文全面总结了Java核心知识点,涵盖基础语法、面向对象、集合框架、并发编程、网络编程及主流框架如Spring生态、MyBatis等,结合JVM原理与性能优化技巧,并通过一个学生信息管理系统的实战案例,帮助你快速掌握Java开发技能,适合Java学习与面试准备。
323 2
Java 相关知识点总结含基础语法进阶技巧及面试重点知识
|
6月前
|
并行计算 Java API
Java List 集合结合 Java 17 新特性与现代开发实践的深度解析及实战指南 Java List 集合
本文深入解析Java 17中List集合的现代用法,结合函数式编程、Stream API、密封类、模式匹配等新特性,通过实操案例讲解数据处理、并行计算、响应式编程等场景下的高级应用,帮助开发者提升集合操作效率与代码质量。
297 1
|
6月前
|
安全 Java 微服务
Java 最新技术和框架实操:涵盖 JDK 21 新特性与 Spring Security 6.x 安全框架搭建
本文系统整理了Java最新技术与主流框架实操内容,涵盖Java 17+新特性(如模式匹配、文本块、记录类)、Spring Boot 3微服务开发、响应式编程(WebFlux)、容器化部署(Docker+K8s)、测试与CI/CD实践,附完整代码示例和学习资源推荐,助你构建现代Java全栈开发能力。
752 0
|
3月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
239 1