1,接口的基本定义格式:

public interface 接口名称{

//组成部分:可以包含有抽象,静态,默认,私有方法,常量。

}

2.抽象方法

定义:public abstract  返回值 方法名 (参数);直接结束,无大括号

注意:修饰符可以不写,如果写必须是 public abstract

3,接口实现类;使用定义好

的接口,必须有一个接口的实现类

格式为:public class 实现类名称 implements 接口名称{

//一定要覆盖重写(override)所有的抽象方法==》将接口中的抽象方法抄过来,去掉abstract,加速大括号方法体

}

3,接口与实现类的使用;

创建:接口名称  引用名 =new 实现类名称();

调用:引用名 抽象方法名(参数)

package helloworld;public interface onlyone {//接口public abstract void eat();//抽象方法public abstract void sleep();//抽象方法
}
public class hero implements onlyone {//接口實現類public  void eat() {System.out.println("猫吃鱼");}public  void sleep() {System.out.println("猫睡觉");
}public  void doing() {System.out.println("猫");
}}
public static void main(String[] args) throws IOException {onlyone cat=new hero();cat.eat();cat.sleep();//cat.doing();接口實現類里有,但也無法調用,,由接口訣定,這就是接口隔離}

使用接口作为参数可传入不同的接口实现类

public static void method(onlyone one) {one.eat();one.sleep();
}

4.Lambda表达式:本身代表了该怎么做这件事,没有对象的概念在里面(不用在使用接口实现类)

public interface onlyone {//接口public abstract int sum(int a,int b);//抽象方法//public abstract void sleep();//抽象方法
}
public static void main(String[] args) throws IOException {method((a,b)->a+b);
}
public static void method(onlyone one) {int result=one.sum(100,200);System.out.println(result);
}

表达式为:(a,b)->a+b

method方法需要一个onlyone接口类型的参数

Lambda表达式就是充当了这个参数,->表示一个指向的动作,箭头后面代表了拿到参数后具体做什么事,在调用方法时,参数类型是函数式接口,所以Lambda可以判断出是那个接口

面向对象的接口思想与函数式编程相关推荐

  1. python函数式编程思想_python函数式编程

    版本:python2.7.6 lambda filter() map() reduce() 三点:输入,作用,输出 1.lambda lambda 参数:表达式   返回值为表达式的值 >> ...

  2. Java 设计模式最佳实践:一、从面向对象到函数式编程

    原文:Design Patterns and Best Practices in Java 协议:CC BY-NC-SA 4.0 贡献者:飞龙 本文来自[ApacheCN Java 译文集],采用译后 ...

  3. C#中面向对象编程中的函数式编程

    目录 介绍 面向对象编程中仿真的函数式编程技术 粒度不匹配 面向对象的函数式编程构造 相互关系函数式编程/面向对象程序设计 C#中的函数式编程集成 函数级别的代码抽象 操作组合 函数部分应用和局部套用 ...

  4. 《深入理解Scala》——第1章,第1.2节当函数式编程遇见面向对象

    本节书摘来自异步社区<深入理解Scala>一书中的第1章,第1.2节Scala的当函数式编程遇见面向对象,作者[美]Josh Suereth,更多章节内容可以访问云栖社区"异步社 ...

  5. JavaScript函数式编程思想

    欢迎访问个人网站 最开始接触函数式编程的时候是在小米工作的时候,那个时候看老大以前写的代码各种 compose,然后一些 ramda 的一些工具函数,看着很吃力,然后极力吐槽函数式编程,现在回想起来, ...

  6. java接口构造函数_Java8自定义函数式编程接口和便捷的引用类的构造器及方法

    什么是函数编程接口? 约束:抽象方法有且只有一个,即不能有多个抽象方法,在接口中覆写Object类中的public方法(如equals),不算是函数式接口的方法. 被@FunctionalInterf ...

  7. 每个人都应该懂点函数式编程

    目录 一个问题 函数式编程中的函数 数学与函数式编程 混合式编程风格 一个问题 假设现在我们需要开发一个绘制数学函数平面图像(一元)的工具库,可以提供绘制各种函数图形的功能,比如直线f(x)=ax+b ...

  8. Java如何支持函数式编程?

    简介:Java是面向对象的语言,无法直接调用一个函数.Java 8开始,引入了函数式编程接口与Lambda表达式,便于开发者写出更少更优雅的代码.什么是函数式编程?函数式编程的特点是什么?本文通过代码 ...

  9. 【Java】23 函数式编程

    函数式接口(Functional Interface)是 JDK 1.8 对一类特殊类型的接口的称呼. 这类接口有且仅有一个抽象方法,并且这类接口使用了 @FunctionalInterface 进行 ...

最新文章

  1. “五心”知“五感”,平安打造有温度的智慧城市
  2. jsp oracle 登录页面,Oracle数据库之ORACLE+Myeclipse+jsp实现简单登录功能
  3. Java并发编程—为什么 wait() 方法需要写在 while 里,而不是 if?
  4. Firefox常用插件
  5. 学习 jQuery 源码整体架构,打造属于自己的 js 类库
  6. ASP.NET AJAX in Action—ScriptManager异常处理示例
  7. 将一个数据插入表中前校验数据是否存在
  8. 实验一:命令解释程序
  9. sweetalert
  10. iOS进阶经常去的网站
  11. 数据挖掘(Data Mining)扫盲笔记
  12. 利用ziparchive压缩文件、zip_file解压文件
  13. 50本财富书籍进行收藏
  14. 什么是搜索引擎???搜索引擎的介绍
  15. 运维人故障定责甩锅话语指南
  16. ubuntu 下的开机启动项管理命令
  17. 《般若波罗蜜多心经》注解
  18. 笔记本驱动图标消失怎么办
  19. 心流状态---人们做事时内心的一种状态
  20. Quectel EC200A-CN移植

热门文章

  1. ORM内核原理解析之:延迟加载
  2. js 取html自定义属性,JS操作html中的自定义属性
  3. nodejs python jedi_Jenkins管道:选择nodejs版本(+ python版本)
  4. 试编写一个将双向循环链表逆置的算法_图解:链表的快慢指针,解决 80% 的链表面试题!...
  5. 收获,不止SQL优化——抓住SQL的本质--第三章
  6. mysql中limit后面不能使用运算符
  7. mysql修改字段null为空字符串
  8. hibernate Restrictions 用法 查询
  9. Laravel源码分析之Session
  10. 可以伪装mysql子节点框架是啥_kingbus 架构设计之如何伪装成 MySQL Master 角色