`

jdk1.8之--接口

阅读更多

jdk1.8java接口的定义添加了新特性,比如可以有默认的实现方法,以及静态方法(或者称为类方法)。这里对javajdk1.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修饰),需要由实现类实现该方法。

3default方法:接口中定义的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

    这个压缩包文件“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

    这个压缩包文件"java-jdk1.8-jdk-8u201-linux-x64.zip"包含了JDK 8u201的安装程序,特别是针对64位Linux系统的版本。JDK是Java语言开发的基础,它提供了编译、调试和运行Java应用程序所需的所有工具。 首先,让我们...

    java-jdk1.8-jdk-8u202-linux-x64.zip

    1. **下载**:首先,你需要从Oracle官方网站或者通过提供的链接(blog.csdn.net/FL1623863129/article/details/134426730)下载适用于Linux x64的`java-jdk1.8-jdk-8u202-linux-x64.zip`压缩文件。确保文件完整无损...

    java-jdk1.8-jdk-8u181-windows-x64.zip

    这个压缩包"java-jdk1.8-jdk-8u181-windows-x64.zip"内包含两个文件:一个是主安装程序“jdk-8u181-windows-x64.exe”,用于在Windows 64位系统上安装JDK 1.8的更新181版本;另一个是“使用说明.txt”,通常会提供...

    java-jdk1.8-jdk-8u202-windows-x64.zip

    Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序必不可少的软件包,它包含了Java编译器、类库以及Java运行环境。在这个特定的...

    java-jdk1.8-jdk-8u191-windows-x64.zip

    Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序所必需的软件集合,包括Java编译器、Java运行环境、类库以及各种工具。在这个...

    java-jdk1.8-jdk-8u201-windows-x64.zip

    Java JDK 1.8是Java开发工具包的一个重要版本,主要针对Windows x64操作系统设计。JDK(Java Development Kit)是开发和运行Java应用程序必不可少的软件包,它包含了Java编译器、Java运行环境、类库以及各种工具,...

    jdk1.8-linux-x64

    "jdk1.8-linux-x64" 指的是适用于64位Linux操作系统的Java 8开发工具包。在Java的发展历程中,1.8是一个非常重要的版本,它引入了许多新特性,增强了性能和开发者体验。 在描述中提到的 "jdk-8u181-linux-x64.tar....

    jdk1.8 中文-谷歌翻译版

    这个文档由谷歌翻译工具自动完成,尽管可能存在一定的翻译误差,但它为不熟悉英文的开发者提供了一个便捷的参考途径,能够帮助他们更快地理解和应用JDK1.8中的各种类库和接口。 JDK(Java Development Kit)是...

    jdk-1.8-131-linux.zip

    1. **Java 8特性**: JDK 1.8引入了Lambda表达式、函数式接口、Stream API等新特性,极大地提升了代码的简洁性和效率。 2. **改进的性能**: Oracle JDK 1.8-131版本对JVM进行了优化,包括垃圾收集器的改进,提高了...

    jdk1.8中文-.zip

    **Java JDK 1.8 知识点详解** Java JDK(Java Development Kit)是Java编程语言的核心工具集,它...提供的"jdk1.8中文-.zip"文件中的".CHM"文档,是Java 1.8的中文API帮助文档,对学习和查阅JDK 1.8的API非常有帮助。

    jdkapi1.8-google(jdk api 1.8-googleCHM).zip

    本资料"jdkapi1.8-google(jdk api 1.8-googleCHM).zip"包含了Java Development Kit(JDK)1.8版本的API文档,特别是谷歌定制版,旨在为开发者提供更详尽的指南和示例。这份压缩包中的文件"jdkapi1.8_google(jdk api ...

    jdk1.8-windows-32位-免安装

    "jdk1.8-windows-32位-免安装"是指针对Windows操作系统,适用于32位系统的JDK 1.8版本,它具有无需安装的特点,用户只需将其解压缩到指定位置即可开始使用。 JDK 1.8,也被称为Java 8,是Java编程语言的一个重要...

    java-jdk1.8-jdk-8u151-windows-x64.zip

    这个特定的版本,"jdk1.8-jdk-8u151-windows-x64.zip",是Java 8的更新151(Update 151),适用于64位的Windows操作系统。Java 8是一个重要的里程碑,因为它引入了许多新特性,极大地提升了开发效率和程序性能。其中...

    jdk1.8(jdk-8-windows-x86.rar)

    JDK(Java Development Kit)是Oracle公司发布的用于开发Java应用程序的工具集,它是Java平台的核心组件之一。JDK 1.8是Java历史上的一个重要版本,包含了众多的新特性、改进和优化,对Java开发者来说具有里程碑式的...

    jdk1.8--jdk-8u5-windows7-64位.zip

    在这个"jdk1.8--jdk-8u5-windows7-64位.zip"压缩包中,我们得到了适用于64位Windows 7操作系统的JDK 1.8更新5(8u5)。这个版本对开发者来说至关重要,因为它为开发和运行基于Java 8的软件提供了必要的环境。以下是...

    jdk1.8-win64-161.zip

    JDK1.8是Oracle公司发布的第8个主要版本,对于Java开发人员来说,这是一个非常重要的里程碑。在这个版本中,引入了许多新特性,优化了性能,并增强了开发体验。 标题“jdk1.8-win64-161.zip”表明这是针对Windows ...

    MacOS M2 jdk1.8资源 jdk-8u381-macosx-aarch64.dmg

    本文将详述关于MacOS M2系统上安装和使用JDK 1.8(也称为Java Development Kit 8)的相关知识点,特别是针对M2芯片架构的版本。 首先,`jdk-8u381-macosx-aarch64.dmg`是JDK 1.8更新381的MacOS版安装文件,其扩展名...

    jdk-1.8-8u77-windows-x64.7z

    《Java开发环境构建:JDK 1.8 Update 77 for Windows x64详解》 在信息技术领域,Java作为一种跨平台、面向对象的编程语言,广泛应用于企业级应用开发、移动应用、游戏开发以及大数据处理等多个场景。而Java开发...

    jdk-1.8-64位.zip

    这里的"jdk-1.8-64位.zip"指的是JDK的第8个主要版本,适用于64位操作系统。这个压缩包包含了在Windows、Linux或Mac OS等64位平台上运行和开发Java程序所需的所有组件。 JDK 1.8(也称为Java 8)是Java语言历史上一...

Global site tag (gtag.js) - Google Analytics