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

生命不息,写作不止

继续踏上学习之路,学之分享笔记

总有一天我也能像各位大佬一样

一个有梦有戏的人 @怒放吧德德

分享学习心得,欢迎指正,大家一起学习成长!

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

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

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

default、static修饰

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

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

这样就都能用了

案例代码

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();
}
}

运行结果

感谢观看!

【Java8新特性】- 接口中默认方法修饰为普通方法的更多相关文章

  1. java8新特性——接口中的静态方法与默认方法

    以前我们知道,接口中的方法必须时抽象方法,而从 java8 开始接口中也可以有方法的实现了,叫做默认方法. 一 .默认方法(default修饰) 在 java8 中,因为存在函数式接口,一个接口中只能 ...

  2. Java8新特性——接口的默认方法和类方法

    Java8新增了接口的默认方法和类方法: 以前,接口里的方法要求全部是抽象方法,java8以后允许在接口里定义默认方法和类方法: 不同的是: 默认方法可以通过实现接口的类实例化的对象来调用,而类方法只 ...

  3. Java8新特性-接口中的静态方法与默认方法

    今天上午在读<Effective Java>时,有这样一句话:”接口中“不能有静态方法,于是联想起面试时老是被问接口相关的东西,决定总结一下,谁知道这一总结,就发现了自己知识的一大漏洞.  ...

  4. Java8新特性interface中的static方法和default方法

    static方法 java8中为接口新增了一项功能:定义一个或者更多个静态方法.用法和普通的static方法一样. 代码示例 public interface InterfaceA { /** * 静 ...

  5. 乐字节-Java8新特性-接口默认方法

    总概 JAVA8 已经发布很久,而且毫无疑问,java8是自java5(2004年发布)之后的最重要的版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性. Java8 新特性列表如下: 接 ...

  6. 乐字节-Java8新特性-接口默认方法之Stream流(下)

    接上一篇:<Java8新特性之stream>,下面继续接着讲Stream 5.流的中间操作 常见的流的中间操作,归为以下三大类:筛选和切片流操作.元素映射操作.元素排序操作: 操作 描述 ...

  7. Java8新特性——接口默认方法

    Java 8 新增了接口的默认方法. 简单说,默认方法就是接口可以有实现方法,而且不需要实现类去实现其方法. 我们只需在方法名前面加个default关键字即可实现默认方法. 为什么要有这个特性? 首先 ...

  8. JAVA8新特性——接口定义增强

    JAVA9都要出来了,JAVA8新特性都没搞清楚,是不是有点掉队哦~ 接口定义增强 在JDK1.8以前,接口是定义的: 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法 ...

  9. jdk1.8新特性 : 接口中可以有普通方法(非静态方法)和静态方法 , 颠覆了之前我的理解 : 接口中只能有共有常量和抽象方法的概念,后面必须要加一句jdk1.7和1..7之前

    看到jdk某些接口中存在default方法,于是... http://shaomeng95.iteye.com/blog/998820    为什么接口只能是公有常量? public interfac ...

  10. java8 新特性parallelStream 修改默认多线程数量

    parallelStream默认使用了fork-join框架,其默认线程数是CPU核心数. 通过测试实践,发现有两种方法来修改默认的多线程数量: 1.全局设置 在运行代码之前,加入如下代码: Syst ...

随机推荐

  1. 二分法求最长子序列长度(STL)(nlogn)

    声明: 正如标题所说,只是求长度,应对题目要求,请自行判断,用错代码概不负责! 本蒟蒻的代码可能有错,有错误还请各位dalao请指出 运用了upper_bound()和lower_bound()函数 ...

  2. OPC UA分布式IO模块

    OPC UA IO模块对工业物联网的影响 OPC UA IO模块是指IO模块支持OPC UA协议,可以直接与OPC Client进行通信,这样就可以从OPC Client上直接远程通过以太网对IO口进 ...

  3. 【ASP.NET Core】选项类的依赖注入

    咱们继续上一个话题.先简单复习一下,根据老周前面文章的介绍,选项类体系的基本套路是通过 IOptionsFactory 来创建选项类实例的.而我们在服务容器(IServiceCollection)上是 ...

  4. CF708C Centroids(树形DP)

    发现变重心就是往重心上割,所以\(\text{up and down}\),一遍统计子树最大\(size\),一遍最优割子树,\(down\),\(up\)出信息,最后\(DFS\)出可行解 #inc ...

  5. 在使用amoeba连接数据库时,报错java.lang.Exception: poolName=slaves, no valid pools

    项目场景:Mysql 实现数据库读写分离 搭建3台MySQL服务器,完成主从复制,搭建一台amoeba服务器,完成MySQL的读写分离 问题描述: 问题1. 在服务搭建完毕后,利用客户机连接amoeb ...

  6. 部署前后端为独立的 Docker 节点

    在『服务器部署 Vue 和 Django 项目的全记录』一文中,介绍了在服务器中使用 Nginx 部署前后端项目的过程.然而,当 Web 应用流量增多时,需要考虑负载均衡.流量分发.容灾等情况,原生的 ...

  7. NC202475 树上子链

    题目链接 题目 题目描述 给定一棵树 T ,树 T 上每个点都有一个权值. 定义一颗树的子链的大小为:这个子链上所有结点的权值和 . 请在树 T 中找出一条最大的子链并输出. 输入描述 第一行输入一个 ...

  8. IDEA:库源与类的字节码不匹配

    在我配置pom.xml文件后,进行代码编辑,发现引入的方法并不是想要的内容,然后我就进入下载源码后进入到源码中发现我想要的方法和导入的jar包内的源码方法并不相同 ,于是到jar的存放地址中将其他版本 ...

  9. 「题解报告」P2154 虔诚的墓主人

    P2154 虔诚的墓主人 题解 原题传送门 题意 在 \(n\times m\) 一个方格上给你 \(w\) 个点,求方格里每个点正上下左右各选 \(k\) 个点的方案数. \(1 \le N, M ...

  10. Helm安装ingress-nginx-4.1.4

    Application version 1.2.1 Chart version 4.1.4 获取chart包 helm fetch ingress-nginx/ingress-nginx --vers ...