java8
小炫剑指大厂
主要为应届生提供校招或者实习的经验,以及技术博文。
欢迎关注公众号:小炫剑指大厂
展开
-
java8(一)Lambda 使用例子(四步走)
第一步行为参数化 一般我们传参数是传值、引用。但这里我们要传行为。 举例子: if(XXXXX) 通过参数把判断的行为传进XXXXX 就是行为参数化,我们可以传(i>19)等条件 第二步使用函数式接口来传递行为 这里我直接使用jdk中的接口 */ package java.util.function; import java.util.Objects; /** * ...原创 2019-07-30 16:59:44 · 1781 阅读 · 0 评论 -
java8(二)Lambda 使用局部变量为什么要显示声明为final 或者 事实上分final
int i=1; Runnable r=()->System.out.println(i); 先来说下什么是事实上的final。 如果我声明了一个变量,且在后面不更改它的值,那么那就是事实上的final。 我改下代码 int i=1; Runnable r=()->System.out.println(i); i=2; 如果i是局部变量,那么会编译出错。为什么 我们知...原创 2019-07-31 16:14:00 · 5179 阅读 · 1 评论 -
java8(三)默认方法 冲突的解决
我们知道java只允许单继承类,但可以多继承接口。 默认方法的实现,为API更新换代带来方便的,也留下了不少麻烦。 每个接口都可以实现默认接口,而且是同样的签名。这个类去实现他们这些接口。那该如何继承 有三条规则 1.类和父类的优先级最高,高于任何的默认方法 如果你继承了一个接口和类,且有一个方法有相同的签名,那就要听从父类的。不管父类的方法是不是抽象的,如果父类的方法是抽象的那你就必须...原创 2019-08-16 11:08:25 · 1800 阅读 · 0 评论