Lambda表达式-函数式编程思想
函数式编程思想概述
在数学中 函数就是有输入量 输出量的一套计算方案 也就是“拿什么东西做什么事情” 相对而言 面向对象过分强调 必须通过对象的形式来做事情
而函数思想则尽量忽略面向对象的复杂语句--强调做什么 而不是以什么形式做
面向对象的思想:
做一件事情 找一个解决这个事情的对象 调用对象的方法 完成事情
函数式编程思想:
只要能获取到的结果 谁去做的 怎么做的都不重要 重视的是结果 不重视过程
冗余的Runnable代码
代码:
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"创建了线程");
}
}).start();
}
运行结果:
代码分析
对于Runnable的匿名内部类用法 可以分析出几点内容:
- Thread类需要Runnable接口作为参数 其中的抽象run方法是用来指定线程任务内存的核心
- 为了指定run的方法体 不得不需要Runnable接口的实现类
- 为了省去定义一个RunableImpi实现类的麻烦 不得不使用匿名内部类
- 必须覆盖重写抽象run方法 所以方法名称 方法参数 方法返回值不得不再写一遍 且不能写错
- 而实际上 似乎只用方法体才是关键所在