接口中有默认方法实现
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 implements DefaultInterFace {@Overridepublic int plus(int x, int y) {return x + y;}//    @Override
//    public int mul(int x, int y) {
//        return x*x*y*y;
//    }
}

public class DefaultInterFaceTest {@Testpublic void testDefaultInterFace() {DefaultInterFace defaultInterFace = new DefaultInterFaceImpl();System.out.println(defaultInterFace.plus(5, 6));System.out.println(defaultInterFace.mul(5, 6));System.out.println(defaultInterFace.mul2(5, 6));}
}

  Java8中接口和抽象类的比较
相同点:
都能定义方法和属性(之前接口不能定义方法)。
抽象类和接口都可以不含有抽象方法。
抽象类和接口都不能创建对象。
继承和实现接口或抽象类的子类必须实现接口或抽象类的所有的方法。

不同点:
属性上,抽象类可以用各种各样的修饰符修饰。而接口的属性是默认的public static final
抽象类中可以含有静态代码块和静态方法,而接口不能含有静态方法和静态代码块。
抽象类可以含有构造方法,接口不能含有构造方法。
抽象类表示的是IS-A的关系,接口则表示LIKE-A的关系。
接口只能继承接口。而抽象类可以继承普通的类,也能继承接口和抽象类。

转载于:https://www.cnblogs.com/daily-note/p/9358590.html

Java8简明学习之接口默认方法相关推荐

  1. java8新特性lambda表达式、函数式编程、方法引用和接口默认方法以及内部类访问外部变量

    一提到java是一种什么语言? 大多数人肯定异口同声的说是一门面向对象的语言,这种观点从我们开始学java就已经根深蒂固了,但是学到java8新特性函数式编程的时候,我才知道java并不是纯面向对象的 ...

  2. Java8 - 接口默认方法

    2019独角兽企业重金招聘Python工程师标准>>> Java8 - 接口默认方法 什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法 ...

  3. java8新特性_乐字节-Java8新特性-接口默认方法

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

  4. idea重写接口没有@override_乐字节|Java8核心实战-接口默认方法

    JAVA8已经发布很久,是自java5(2004年发布)之后Oracle发布的最重要的一个版本.其中包括语言.编译器.库.工具和JVM等诸多方面的新特性,对于国内外互联网公司来说,Java8是以后技术 ...

  5. Java 8 - Interface Default Method接口默认方法

    Java 8 相比于Java 7 推出了几大特色(features)(接口默认方法)default methods in interface, (接口静态方法)static method in int ...

  6. java接口的默认方法,实现类调用接口默认方法

    概述 Java8带来了一些全新的特性,包括lambda表达式.函数接口.方法引用.流.可选方法.接口中的静态方法和默认方法. 在本文中,我们将深入讨论为什么java8接口新增了默认方法,如何使用默认方 ...

  7. JDK8新特性之接口默认方法与静态方法

    接口默认方法与静态方法 有这样一些场景,如果一个接口要添加一个方法,那所有的接口实现类都要去实现,而某些实现类根本就不需要实现这个方法也要写一个空实现,所以接口默认方法就是为了解决这个问题. 接口静态 ...

  8. jdk8 接口默认方法_JDK 8中方便的新地图默认方法

    jdk8 接口默认方法 Map接口在JDK 8中提供了一些方便的新方法 . 因为我在本文中介绍的Map方法是作为默认方法实现的,所以Map接口的所有现有实现都享有在默认方法中定义的默认行为,而无需任何 ...

  9. java 二义性_Java接口默认方法带来的问题分析【二义性问题】

    本文实例分析了Java接口默认方法带来的问题.分享给大家供大家参考,具体如下: 一 点睛 Java 8中,如果一个类实现两个或多个接口,即"变相"的多继承,但是若其中两个接口都包含 ...

最新文章

  1. DockerToolbox安装docker
  2. 解决thymeleaf报错 $ is not defined
  3. JAVA虚拟机的重要组成
  4. asiHttpRequst 学习地址
  5. poj3276 反转 挑战程序设计竞赛
  6. LeetCode:Find Peak Element - 寻找一个数组内的顶点
  7. docker-hub改版之后死活无法生成删除镜像的解决方法
  8. Unity拓展编辑器 一键导出图集工具
  9. 数学建模之倾倒的啤酒杯
  10. android 系统的切图方式_Android UI设计及切图
  11. 【转】纯干货:PS高手完全自学宝典(原创文章)
  12. linux加密狗复制克隆教程,Guardant Code/Guardant加密狗解密 复制 克隆 模拟
  13. HTML初学(简单html文件、简单表格布局)
  14. 计算机浏览器无法上网怎么办,电脑有网络,但是浏览器不能上网怎么办
  15. JTS Java空间几何计算、距离、最近点、subLine等计算
  16. AI的艺术创造力超越人类?绝不是痴人说梦
  17. 58同城、前程无忧在前,快手做招聘能否弯道超车?
  18. 企业数字化转型的核心—大数据分析平台
  19. 星际战甲与计算机版本不兼容,win10星际战甲游戏出现无法更新的三种解决方法...
  20. java学籍管理系统课设报告,基于SSM+Redis+LayUI的大学生学籍信息管理系统-java学生学籍信息管理系统mysql数据源...

热门文章

  1. Groovy正则表达式复杂逻辑判断实例
  2. oracle 强制 断开,ORA-01092 ORACLE 实例终止。强制断开连接 解决方案(下)
  3. html退出登录_[实战小剧场servletamp;jsp] 用户登录及退出功能实现
  4. C#中throw抛出异常后,后续代码执行情况
  5. C++知识点62——模板实参推断与函数模板的特化
  6. C++知识点40——运算符的重载概念与分数类实现(中)
  7. Python进阶3——列表解析式和生成器表达式
  8. matlab绘制多条折线图
  9. conda create -n python 3.6_conda创建python环境
  10. sqlplus可以连接plsql连接不上_为什么有的iPhone/iPad连接不上电脑?