栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA——进阶语法——使用lambda表达式(λ)进行函数式编程,对匿名内部内代码简化思路及案例、在线程中的应用

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA——进阶语法——使用lambda表达式(λ)进行函数式编程,对匿名内部内代码简化思路及案例、在线程中的应用

JAVA——进阶语法——使用lambda表达式(λ)进行函数式编程,对匿名内部内代码简化思路及案例、在线程中的应用
  • 例1:接口的实现-普通抽象方法
    • 一、定义接口
    • 二、实现接口
      • 1.常规操作- 使用匿名内部类实现接口
      • 2.使用lambda表达式(λ)进行函数式编程实现
      • 3.使用lambda表达式(λ)进行函数式编程-如果重写的方法体中只有一行代码,大括号可以省略
  • 例2:接口的实现-带参数的抽象方法
    • 一、定义接口
    • 二、实现接口
      • 1.常规操作- 使用匿名内部类实现接口
      • 2.使用lambda表达式(λ)进行函数式编程实现
  • 例3:接口的实现-带参数和返回值的抽象方法
    • 一、定义接口
    • 二、实现接口
      • 1.常规操作- 使用匿名内部类实现接口
      • 2.使用lambda表达式(λ)进行函数式编程-有大括号时,使用return关键字,后面加返回内容
      • 3.使用lambda表达式(λ)进行函数式编程-省略大括号时,return关键字也必须省略
  • 例4:Runnable接口的实现-lambda表达式在多线程中的应用
    • 一、实现接口
      • 1.常规操作- 使用匿名内部类实现接口
      • 2.使用lambda表达式(λ)进行函数式编程
      • 3.使用lambda表达式(λ)进行函数式编程-进一步简化程序,一行代码搞定

  • 注意1:本文介绍的函数式编程是对匿名内部类写法的进一步简化。需要掌握前置知识点:匿名内部类的用法。
  • 注意2:仅适用于只有一个抽象方法的接口实现
  • 注意3:(听说没事多用lambda表达式装逼容易被打~
例1:接口的实现-普通抽象方法 一、定义接口

1.首先定义一个只有一个抽象方法的接口

//定义接口Animal1
public interface Animal1 {
	//在接口下写一个抽象方法run()
	void run();
}
二、实现接口 1.常规操作- 使用匿名内部类实现接口
public class Test1 {

	public static void main(String[] args) {

		
		Animal1 dog1 = new Animal1() {
			@Override
			public void run() {
				System.out.println("吃肉肉");
			}
		};
		dog1.run();
	}
}
2.使用lambda表达式(λ)进行函数式编程实现
public class Test1 {

	public static void main(String[] args) {
		
		Animal1 dog2 = () -> {
			System.out.println("吃肉肉");
		};
		dog2.run();
	}
}
3.使用lambda表达式(λ)进行函数式编程-如果重写的方法体中只有一行代码,大括号可以省略
public class Test1 {

	public static void main(String[] args) {
		
		Animal1 dog3 = () -> System.out.println("吃肉肉");
		dog3.run();
	}
}
例2:接口的实现-带参数的抽象方法 一、定义接口

1.首先定义一个只有一个抽象方法的接口

public interface Animal2 {
	void run(String name);
}
二、实现接口 1.常规操作- 使用匿名内部类实现接口

例1中已介绍,非本文重点,不再详述,略。

2.使用lambda表达式(λ)进行函数式编程实现
public class Test2 {

	public static void main(String[] args) {		
		
		Animal2 dog1 = (name) -> System.out.println(name+"吃肉肉");
		dog1.run("大黄");	
	}
}
例3:接口的实现-带参数和返回值的抽象方法 一、定义接口

1.首先定义一个只有一个抽象方法的接口

public interface Animal3 {
	String run(String name);
}
二、实现接口 1.常规操作- 使用匿名内部类实现接口

略。

2.使用lambda表达式(λ)进行函数式编程-有大括号时,使用return关键字,后面加返回内容
public class Test3 {

	public static void main(String[] args) {		
		
		Animal3 dog1 = (name) -> {
			return name+"吃肉肉";
		};
		String msg1 = dog1.run("大黄");
		System.out.println(msg1);
	}
}
3.使用lambda表达式(λ)进行函数式编程-省略大括号时,return关键字也必须省略
public class Test3 {

	public static void main(String[] args) {
		
		Animal3 dog2 = (name) -> name+"吃饭饭";
		String msg2 = dog2.run("大白");
		System.out.println(msg2);
	}
}
例4:Runnable接口的实现-lambda表达式在多线程中的应用 一、实现接口 1.常规操作- 使用匿名内部类实现接口
	Runnable r1 = new Runnable() {
			@Override
			public void run() {
				System.out.println(Thread.currentThread().getName());
			}
	};
	new Thread(r1,"一号线程").start();
2.使用lambda表达式(λ)进行函数式编程
Runnable r2 = () -> System.out.println(Thread.currentThread().getName());
new Thread(r2,"二号线程").start();
3.使用lambda表达式(λ)进行函数式编程-进一步简化程序,一行代码搞定
new Thread(() -> System.out.println(Thread.currentThread().getName()),"三号线程").start();
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/859758.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号