(五)jdk8学习心得之默认方法】的更多相关文章

五.默认方法 1. 使用方法:写在接口中,就是为了接口可以做一些事情. 2. 目的:有很多实现类,有一个公共的抽象方法,其实这些实现类实现该抽象方法的内容是完全一致的,完全没有必要都重新实现一遍.并且,一旦抽象方法进行了修改,所有实现类都要跟着修改,成本太高了.此时就可以使用默认方法思想. 例子:…
七.join方法 1. 作用:将list或者数组按照连接符进行连接,返回一个字符串. 2. 使用方法 1) String.join(“连接符”,数组对象或者list对象) 2) 首先转换成stream流,然后stream流对象.collect(Collectors.joining(“连接符”)); 3. 注意事项 1)     数组或者list没有内容时,转换后的字符串为空 2)     数组或者list只有一个内容,转换后的字符串为单一元素构成,后面没有连接符 3)     数组或者list中…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第六十五章:接口与默认方法详解 下一章 "全栈2019"Java第六十六章:抽象类与接口详细对比 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"Java学习小组&q…
JDK8之前,interface中可以定义常量和抽象方法,访问修饰符是public. public interface A { /** a1和a2写法是等价的 */ public static final int a1 = 0; int a2 = 0; /** methodA1和methodA2写法是等价的 */ public abstract void methodA1(); void methodA2(); } JDK8起,允许我们在interface中使用static和default修饰方…
一. 学习源码的目的 1. 为了扩展和调优:掌握框架的工作流程和原理 2. 为了提升自己的编程技能:学习他人的设计思想.编程技巧 二. 学习源码的方法 方法一: 1)掌握研究的对象和研究对象的核心概念:搞明白框架都能做什么,是怎么做的. 比如我们要研究Spring的源码,那么研究的对象就是Spring,Spring的核心概念有IOC.DI.AOP等,那么我们就需要搞明白这些核心概念能做什么,是怎么做的 2)从整体到部分 首先要弄清楚整体是由哪些部分组成起来工作的,然后再去研究各个部分是怎么做的.…
接口中有默认方法实现Java8允许我们使用default关键字,为接口声明添加非抽象的方法实现. public interface DefaultInterFace { int plus(int x, int y); default int mul(int x, int y) { return x*y; } default int mul2(int x, int y) { return x*x*y*y; } } public class DefaultInterFaceImpl implemen…
三.方法引用 https://www.jianshu.com/p/c9790ba76cee 这边博客写的很好,可以首先阅读,在这里感谢这篇文章的博主. 1. 格式 调用者::调用者具备的方法名 2. 作用 简化lambda表达式 3. 适用场景 如果lambda表达式所实现的功能,已经有实现的方法,那么可以将lambda表达式简化成方法引用的形式. 4. 注意事项 1) Lambda表达式就是提供方法类型接口中唯一方法的实现内容,而方法引用就是用于简化lambda表达式.因此,必须保证方法引用的…
课本知识点 内部类与异常类 内部类:在一个类中定义另一个类 特点:外嵌类的成员在内部类仍然有效,内部类也可调用外嵌类的方法,内部类的类体不能声明类变量及类方法 非内部类不能是static类 匿名类:创建对象时,使用父类的构造方法及类体 特点:可继承或者重写父类的方法,使用时,在某个类中匿名创造对象,故匿名类定是内部类. 类体中不能声明static成员变量及方法,匿名创造对象时,要直接使用父类的构造方法. new Bank() { 匿名类的类体 }: 上例中表明用bank的一个子类创建方法. ne…
八.Optional 类 1. 作用:可以存放空指针null,主要用于解决空指针问题. 2. 使用方法 1) 创建对象(2种方法) Optional optional = Optional.of(非null对象); 或者 Optional optional = Optional.ofNullable(任何对象); 2) 判断对象是否为null(1种方法) Optional对象.isPresent(); 3) 获取对(3种方法) Optional对象.get(); Optional对象.orEls…
四.函数式接口 1. 格式 注:抽象方法就是通过lambda表达式或者方法引用实现. 2. Jdk提供的函数式接口(这里提供五个最为常用的) 3. 技巧 通过函数式接口,就可以把一个函数作为一个参数进行传递了.形参中参数类型就是函数式接口名.传递的参数就是函数式接口中唯一抽象方法的实现内容(lambda表达式或者方法引用)…