Java8新特性 | 接口中的方法

简介: 本文讲解Java8中的新特性

接口组成更新

(一)接口组成更新概述

接口的组成

  • 常量 public static final
  • 抽象方法 public abstract
  • 默认方法(Java8)
  • 静态方法(Java8)
  • 私有方法(Java9)

(二)接口中的默认方法

在这里插入图片描述


(三)接口中的静态方法

在这里插入图片描述

为什么接口中的静态方法不能通过实现类类名调用?

答:假如有两个不同的接口,并且他们的静态方法名都为test(),并且一个实现类同时实现了这两个接口,如果可以通过实现类名调用静态方法,那么 实现类.test()就不知道调用的是这两个接口的其中哪一个静态方法了


(四)接口中的私有方法

在这里插入图片描述

代码演示:

public interface inter {
    //默认方法
    private void show() {
        System.out.println("Java初级程序员");
        System.out.println("Java中级程序员");
        System.out.println("Java高级程序员");
    }
    
    default void show1() {
        System.out.println("show1方法开始执行了");
//        System.out.println("Java初级程序员");
//        System.out.println("Java中级程序员");
//        System.out.println("Java高级程序员");
        show();//默认的可以调用私有的非静态方法
        method();//默认的也可以调用私有的静态方法
        System.out.println("show1方法执行结束了");
    }

    default void show2() {
        System.out.println("show2方法开始执行了");
//        System.out.println("Java初级程序员");
//        System.out.println("Java中级程序员");
//        System.out.println("Java高级程序员");
        show();//默认的可以调用私有的非静态方法
        method();//默认的也可以调用私有的静态方法
        System.out.println("show2方法执行结束了");
    }

    //私有的静态方法
    private static void method(){
        System.out.println("Java初级程序员");
        System.out.println("Java中级程序员");
        System.out.println("Java高级程序员");
    }
    
    private static void method1() {
        System.out.println("method1方法开始执行了");
//        System.out.println("Java初级程序员");
//        System.out.println("Java中级程序员");
//        System.out.println("Java高级程序员");
        method();
//        show();//静态的不能调用非静态方法
        System.out.println("method1方法执行结束了");
    }
    private static void method2() {
        System.out.println("method2方法开始执行了");
//        System.out.println("Java初级程序员");
//        System.out.println("Java中级程序员");
//        System.out.println("Java高级程序员");
        method();
        System.out.println("method2方法执行结束了");
    }
}


目录
相关文章
|
8天前
|
Java
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。
13 2
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
|
6天前
|
安全 Java API
java安全特性
java安全特性
20 8
|
5天前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
14 4
|
4天前
|
Java 测试技术
Java接口的生产环境应用注意点
在Java生产环境中,合理使用接口对提升代码质量至关重要。设计接口时应遵循单一职责原则,采用清晰命名,并控制方法数量。默认方法应谨慎使用,避免与实现类产生冲突。通过版本化管理接口更新,确保向后兼容。实现接口时需明确行为,保持实现与接口分离,利用多态增强灵活性。关注性能影响,适当文档注释及充分测试确保接口稳定可靠。综合运用这些策略,可以显著提高系统的可扩展性和维护性。
|
4天前
|
Java
Java 接口的简化理解
Java 接口是一种强大的概念,用于定义方法签名而非具体实现,作为行为规范,强调功能而非实现细节。接口是特殊的引用类型,包含常量和方法签名。其特点包括:无实现方法体、支持多重继承、内置常量定义。通过示例展示了如何定义和实现接口,以及如何通过接口引用调用实现类的方法。接口的应用场景包括抽象化、插件架构和松耦合设计。从 Java 8 起,接口还支持默认方法和静态方法,进一步增强了其灵活性和扩展性。理解接口是 Java 编程的基础之一。
|
7天前
|
安全 Java API
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
37 4
|
7天前
|
JavaScript 前端开发 Java
Java 8 新特性详解及应用示例
Java 8 新特性详解及应用示例
|
8天前
|
安全 Java
java调用方法
java调用方法
18 4
|
5天前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
8天前
|
Java 程序员 API
Java 8新特性之Lambda表达式与Stream API的探索
【9月更文挑战第24天】本文将深入浅出地介绍Java 8中的重要新特性——Lambda表达式和Stream API,通过实例解析其语法、用法及背后的设计哲学。我们将一探究竟,看看这些新特性如何让Java代码变得更加简洁、易读且富有表现力,同时提升程序的性能和开发效率。
下一篇
无影云桌面