Fork me on GitHub

lambda java-8


JEP126 & JSR335
> JSR 335=lambda 表达式 + 接口改进(默认方法)+ 批量数据操作
- 外部迭代VS 内部迭代
- foreach 方法的使用
- Stream API
- 中间与终点

接口与抽象类到底有哪些不同?
相同点

  1. 都是抽象类型;
  2. 都可以有实现方法(以前接口不行);
  3. 都可以不需要实现类或者继承者去实现所有方法,(以前不行,现在接口中默认方法不需要实现者实现)
    不同点
  4. 抽象类不可以多重继承,接口可以(无论是多重类型继承还是多重行为继承);
  5. 抽象类和接口所反映出的设计理念不同。其实抽象类表示的是 “is-a” 关系,接口表示的是 “like-a” 关系;
  6. 接口中定义的变量默认是 public static final 型,且必须给其初值,所以实现类中不能改变其值;抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。 多重继承从而产生冲突的问题.
    例如 A 接口有一个hello方法,B接口也有一个hello方法 并都有默认的实现.
    C类 实现了A和B 接口,那么C如果想使用A中的hello方法需要override ,并指定A.super.hello();

##

##

##


本文欢迎转载,但是希望注明出处并给出原文链接。 如果你有任何疑问,欢迎在下方评论区留言,我会尽快答复。 如果你喜欢或者不喜欢这篇文章,欢迎你发邮件到 alonecong@126.com 告诉我你的想法,你的建议对我非常重要。

------ 本文结束感谢您的阅读! ------
0%