1.函数式编程思想概述
在数学中,函数就是有输入量、输出量的一套计算方法
相对而言,面向对象过分强调必须通过对象的形式来做事情,而函数式的思想是尽量忽略复杂的面向对象的复杂语法--是强调做什么而不是以什么形式做。
面向对象:做一件事情找一个能解决这件事情的对象,调用对象的方法来完成事情(例如:Random Scanner 集合等创建了对象再使用功能调用方法)
函数式编程思想:只要能获取到结果就可以了 谁去做的怎么做的都不重要,重视的是结果不重视过程。
2.冗余的Runnable代码
package Demo04;
/*
创建Runnable接口的实现类,重写run方法,设置线程任务
*/
public class RunnableImpl implements Runnable {
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"新线程创建了");
}
}
package Demo04;
/*
使用实现Runnable接口的方式实现多线程程序
*/
public class Demo01Runnable {
public static void main(String[] args) {
//创建Runnable接口的实现类对象
RunnableImpl run = new RunnableImpl();
//创建Thread对象,构造方法中传递Runnable接口的实现类
Thread t = new Thread(run);
//调用start方法开启新线程,执行run方法
t.start();
//简化代码用匿名内部类
Runnable tt = new Runnable(){ //因为这是一个匿名内部类所以可以使用接口来接收他
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"新线程创建了");
}
};
new Thread(tt).start();
//继续简化
new Thread(new Runnable(){ //因为这是一个匿名内部类所以可以使用接口来接收他
@Override
public void run() {
System.out.println(Thread.currentThread().getName()+"新线程创建了");
}
}).start();
}