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


目录
相关文章
|
2月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
25天前
|
数据采集 JSON Java
利用Java获取京东SKU接口指南
本文介绍如何使用Java通过京东API获取商品SKU信息。首先,需注册京东开放平台账号并创建应用以获取AppKey和AppSecret。接着,查阅API文档了解调用方法。明确商品ID后,构建请求参数并通过HTTP客户端发送请求。最后,解析返回的JSON数据提取SKU信息。注意遵守API调用频率限制及数据保护法规。此方法适用于电商平台及其他数据获取场景。
|
30天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
48 6
|
1月前
|
存储 Java 开发者
什么是java的Compact Strings特性,什么情况下使用
Java 9引入了紧凑字符串特性,优化了字符串的内存使用。它通过将字符串从UTF-16字符数组改为字节数组存储,根据内容选择更节省内存的编码方式,通常能节省10%至15%的内存。
|
1月前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
74 6
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
58 4
|
2月前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
76 4
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
30 1
|
2月前
|
Java API
Java中内置的函数式接口
Java中内置的函数式接口
35 2
|
2月前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
147 1