jdk1.8对java接口的定义添加了新特性,比如可以有默认的实现方法,以及静态方法(或者称为类方法)。这里对java在jdk1.8中的相关特性,以及使用方法做个简单的总结。
接口用法以及注意事项
首先来看一个简单的例子:
public interface RenderService { //默认为public static final int pc_page = 0; //默认为public abstract void render(); //默认是public default void cache(){ System.out.println("接口default方法:缓存页面"); } //静态方法,默认是public static void cdn(){ System.out.println("接口静态方法:推送cdn缓存"); } }
可以看到,在接口中可以定义如下4种类成员:
1、常量:接口中定义的常量默认就是被public static final修饰(并且只能被public static final修饰),也就是“全局静态常量”。可以直接通过类名(或者说接口名)访问。
2、普通方法:接口中定义的普通方法默认是被public abstract修饰(并且只能被public abstract修饰),需要由实现类实现该方法。
3、default方法:接口中定义的default方法默认是被public修饰(并且只能被public修饰),由于已经提供了默认方法,实现类可以直接使用也可以重写。
4、静态方法:接口可以被看做是一种特殊的类,也可以称之为类方法,默认是被public修饰(并且只能被public修饰)。
需要注意的是在接口中不能定义default static方法。
代码测试
对应接口中的常量和静态方法,可以直接通过接口名调用,无需创建实现类对象。但如果要使用普通方法和default方法就必须创建实现类对象,通过该对象进行调用。针对上面的接口,可以通过如下的main方法进行测试:
public class Main { public static void main(String[] args) { //使用常量 System.out.println("接口常量:"+RenderService.pc_page); //使用静态方法 RenderService.cdn(); RenderService renderService = new TestRenderService(); //使用default方法 renderService.cache(); //使用实现类方法 renderService.render(); } } class TestRenderService implements RenderService{ @Override public void render() { System.out.println("子类实现方法:渲染页面"); } }
在测试代码中可以看到可以直接通过RenderService类名使用常量和静态方法,而接口中定义的default方法和普通方法,必须通过实现类TestRenderService的对象进行调用。
总结
Jdk1.8中接口的新特征,主要是把抽象类中的部分特征提取到接口中。在某些情况下,可以直接用接口来代替抽象类,使接口的使用更加灵活。但不能说接口就能完全替代抽象类,毕竟他们的作用不同。
接口的作用是制订一种通用规范(这也是为什么接口中的所有方法和常量都是public的)。
抽象类的作用是对普通类进行一步的公共抽象提取。
相关推荐
这个压缩包文件“java-jdk1.8-jdk-8u191-linux-x64.zip”包含了用于在64位Linux系统上安装和使用的JDK 1.8更新191的所有必要组件。JDK(Java Development Kit)是开发和运行Java应用程序的基础,它包括了Java编译器...
这个压缩包文件"java-jdk1.8-jdk-8u201-linux-x64.zip"包含了JDK 8u201的安装程序,特别是针对64位Linux系统的版本。JDK是Java语言开发的基础,它提供了编译、调试和运行Java应用程序所需的所有工具。 首先,让我们...
1. **下载**:首先,你需要从Oracle官方网站或者通过提供的链接(blog.csdn.net/FL1623863129/article/details/134426730)下载适用于Linux x64的`java-jdk1.8-jdk-8u202-linux-x64.zip`压缩文件。确保文件完整无损...
Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序必不可少的软件包,它包含了Java编译器、类库以及Java运行环境。在这个特定的...
这个压缩包"java-jdk1.8-jdk-8u181-windows-x64.zip"内包含两个文件:一个是主安装程序“jdk-8u181-windows-x64.exe”,用于在Windows 64位系统上安装JDK 1.8的更新181版本;另一个是“使用说明.txt”,通常会提供...
"jdk1.8-linux-x64" 指的是适用于64位Linux操作系统的Java 8开发工具包。在Java的发展历程中,1.8是一个非常重要的版本,它引入了许多新特性,增强了性能和开发者体验。 在描述中提到的 "jdk-8u181-linux-x64.tar....
Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序必不可少的软件包,它包含了Java编译器、Java运行环境、类库以及各种工具,...
Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序所必需的软件集合,包括Java编译器、Java运行环境、类库以及各种工具。在这个...
这个文档由谷歌翻译工具自动完成,尽管可能存在一定的翻译误差,但它为不熟悉英文的开发者提供了一个便捷的参考途径,能够帮助他们更快地理解和应用JDK1.8中的各种类库和接口。 JDK(Java Development Kit)是...
1. **Java 8特性**: JDK 1.8引入了Lambda表达式、函数式接口、Stream API等新特性,极大地提升了代码的简洁性和效率。 2. **改进的性能**: Oracle JDK 1.8-131版本对JVM进行了优化,包括垃圾收集器的改进,提高了...
**Java JDK 1.8 知识点详解** Java JDK(Java Development Kit)是Java编程语言的核心工具集,它...提供的"jdk1.8中文-.zip"文件中的".CHM"文档,是Java 1.8的中文API帮助文档,对学习和查阅JDK 1.8的API非常有帮助。
"jdk1.8-windows-32位-免安装"是指针对Windows操作系统,适用于32位系统的JDK 1.8版本,它具有无需安装的特点,用户只需将其解压缩到指定位置即可开始使用。 JDK 1.8,也被称为Java 8,是Java编程语言的一个重要...
本资料"jdkapi1.8-google(jdk api 1.8-googleCHM).zip"包含了Java Development Kit(JDK)1.8版本的API文档,特别是谷歌定制版,旨在为开发者提供更详尽的指南和示例。这份压缩包中的文件"jdkapi1.8_google(jdk api ...
这个特定的版本,"jdk1.8-jdk-8u151-windows-x64.zip",是Java 8的更新151(Update 151),适用于64位的Windows操作系统。Java 8是一个重要的里程碑,因为它引入了许多新特性,极大地提升了开发效率和程序性能。其中...
JDK(Java Development Kit)是Oracle公司发布的用于开发Java应用程序的工具集,它是Java平台的核心组件之一。JDK 1.8是Java历史上的一个重要版本,包含了众多的新特性、改进和优化,对Java开发者来说具有里程碑式的...
在这个"jdk1.8--jdk-8u5-windows7-64位.zip"压缩包中,我们得到了适用于64位Windows 7操作系统的JDK 1.8更新5(8u5)。这个版本对开发者来说至关重要,因为它为开发和运行基于Java 8的软件提供了必要的环境。以下是...
JDK1.8是Oracle公司发布的第8个主要版本,对于Java开发人员来说,这是一个非常重要的里程碑。在这个版本中,引入了许多新特性,优化了性能,并增强了开发体验。 标题“jdk1.8-win64-161.zip”表明这是针对Windows ...
本文将详述关于MacOS M2系统上安装和使用JDK 1.8(也称为Java Development Kit 8)的相关知识点,特别是针对M2芯片架构的版本。 首先,`jdk-8u381-macosx-aarch64.dmg`是JDK 1.8更新381的MacOS版安装文件,其扩展名...
《Java开发环境构建:JDK 1.8 Update 77 for Windows x64详解》 在信息技术领域,Java作为一种跨平台、面向对象的编程语言,广泛应用于企业级应用开发、移动应用、游戏开发以及大数据处理等多个场景。而Java开发...
这里的"jdk-1.8-64位.zip"指的是JDK的第8个主要版本,适用于64位操作系统。这个压缩包包含了在Windows、Linux或Mac OS等64位平台上运行和开发Java程序所需的所有组件。 JDK 1.8(也称为Java 8)是Java语言历史上一...