【Java8新特性】- 接口中默认方法修饰为普通方法

简介: 在jdk8之后,java就能够通过default和static修饰,直接编写方法体,无需子类去实现。当我们直接在接口类中编写带方法体的方法时,idea就会提示接口抽象方法不能有方法体。

Java8新特性 - 接口中默认方法修饰为普通方法

😄生命不息,写作不止
🔥 继续踏上学习之路,学之分享笔记
👊 总有一天我也能像各位大佬一样
🏆 一个有梦有戏的人 @怒放吧德德
🌝分享学习心得,欢迎指正,大家一起学习成长!

新特性.jpg

接口中默认方法修饰为普通方法

在java8之前,接口类可以定义变量和方法,变量必须要public、static、final修饰,方法需要public、abstract修饰。方法由子类来实现。接口方法默认是public,如果多加了public就会显示冗余的public。
image.png

在jdk8之后,java就能够通过default和static修饰,直接编写方法体,无需子类去实现。当我们直接在接口类中编写带方法体的方法时,idea就会提示接口抽象方法不能有方法体。
image.png

default、static修饰

当我们使用default修饰的时候,idea就会提示不支持此方法。
image.png

我们就将其设置为java8级别,之后就能用了。
image.png

这样就都能用了

案例代码

package com.jdk8.demo.method;

/**
 * @author: lyd
 * @description: 声明接口
 * @Date: 2022/10/4
 */
public interface InterfaceMethod {
    void PubMethod();

    default void DefaultMethod() {
        System.out.println("使用default修饰");
    }
    
    static void StaticMethod() {
        System.out.println("使用static修饰");
    }
}

在实现类中,一定需要实现的是没有方法体的,修饰了static是不可以子类去实现的。
这里就实现未实现的方法。

package com.jdk8.demo.method.impl;

import com.jdk8.demo.method.InterfaceMethod;

/**
 * @author: lyd
 * @description: 实现类
 * @Date: 2022/10/4
 */
public class InterfaceMethodImpl implements InterfaceMethod {
    @Override
    public void PubMethod() {
        System.out.println("public方法");
    }
}

测试

package com.jdk8.demo.method;

import com.jdk8.demo.method.impl.InterfaceMethodImpl;

/**
 * @author: lyd
 * @description: 测试
 * @Date: 2022/10/4
 */
public class Itest {
    public static void main(String[] args) {
        InterfaceMethod interfaceMethod = new InterfaceMethodImpl();
        interfaceMethod.PubMethod();
        interfaceMethod.DefaultMethod();
        InterfaceMethod.StaticMethod();
    }
}

运行结果
image.png

感谢观看!

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