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方法执行结束了");
    }
}


目录
相关文章
|
7天前
|
Java
Java——方法的引用
方法引用允许将已有方法作为函数式接口的实现。使用“::”符号,需具备函数式接口,被引用的方法须存在且参数和返回值需与抽象方法一致。其分类包括:静态方法引用(类::方法名)、成员方法引用(对象::方法名、this::方法名、super::方法名)和构造方法引用(类名::new)。方法引用提高了代码的简洁性和可读性,减少了样板代码。
25 13
Java——方法的引用
|
3天前
|
Java
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。
10 2
java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用
|
1天前
|
安全 Java API
java安全特性
java安全特性
15 8
|
1天前
|
安全 Java API
Java根据URL获取文件内容的实现方法
此示例展示了如何安全、有效地根据URL获取文件内容。它不仅展现了处理网络资源的基本技巧,还体现了良好的异常处理实践。在实际开发中,根据项目需求,你可能还需要添加额外的功能,如设置连接超时、处理HTTP响应码等。
12 4
|
8天前
|
Java API
Java方法的优缺点
Java 方法是编程的基本构建块,具有代码重用性、模块化、易于调试、增强可读性、支持重载和可变参数、封装性及静态与实例方法的灵活性等优点,但也存在性能开销、过度抽象、限制使用环境、参数传递开销、命名冲突和堆栈溢出等缺点。合理设计方法可确保代码高效且易维护。
|
2天前
|
JavaScript 前端开发 Java
Java 8 新特性详解及应用示例
Java 8 新特性详解及应用示例
|
3天前
|
安全 Java
java调用方法
java调用方法
17 4
|
3天前
|
Java 程序员 API
Java 8新特性之Lambda表达式与Stream API的探索
【9月更文挑战第24天】本文将深入浅出地介绍Java 8中的重要新特性——Lambda表达式和Stream API,通过实例解析其语法、用法及背后的设计哲学。我们将一探究竟,看看这些新特性如何让Java代码变得更加简洁、易读且富有表现力,同时提升程序的性能和开发效率。
|
7天前
|
Java
领略Lock接口的风采,通过实战演练,让你迅速掌握这门高深武艺,成为Java多线程领域的武林盟主
领略Lock接口的风采,通过实战演练,让你迅速掌握这门高深武艺,成为Java多线程领域的武林盟主
21 7
|
4天前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
26 2