多线程_推导lambda_简化线程

在这里插入图片描述

package com.sxt.thread;
/**
 * Lambda表达式 简化线程(用一次)的使用
 * @author 
 *
 */
public class LambdaThread {
	//静态内部类
	static class Test implements Runnable{		
		public void run() {
			for(int i=0;i<20;i++) {
				System.out.println("一边听歌");
			}
		}
	}
	public static void main(String[] args) {			
		//new Thread(new Test()).start();		
		
		//局部内部类
		class Test2 implements Runnable{		
			public void run() {
				for(int i=0;i<20;i++) {
					System.out.println("一边听歌");
				}
			}
		}		
		new Thread(new Test2()).start();
		
		//匿名内部类 必须借助接口或者父类
		new Thread(new Runnable() {
			public void run() {
				for(int i=0;i<20;i++) {
					System.out.println("一边听歌");
				}
			}
		}).start();
		
		//jdk8 简化  lambda表达式
		//接口只能有一个方法
		new Thread(()-> {
				for(int i=0;i<20;i++) {
					System.out.println("一边听歌");
				}
			}
		).start();
}
  •   package com.sxt.thread;
      /**
       * lambda推导
       * @author 
       *
       */
      public class LambdaTest01 {
      	//静态内部类
      	static class Like2 implements ILike{
      		public void lambda() {
      			System.out.println("i like lambda2 ");
      		}
      	}
      	public static void main(String[] args) {
      		//外部类
      		ILike like = new Like();
      		like.lambda();
      		
      		//静态内部类
      		like = new Like2();
      		like.lambda();
      		
      		//方法内部类
      		class Like3 implements ILike{
      			public void lambda() {
      				System.out.println("i like lambda3 ");
      			}
      		}
      		//方法内部类
      		like = new Like3();
      		like.lambda();
      		
      		//匿名内部类
      		like = new ILike() {
      			public void lambda() {
      				System.out.println("i like lambda4 ");
      			}
      		};
      		//匿名内部类
      		like.lambda();
      		
      		//lambda
      		like = ()-> {
      			System.out.println("i like lambda5 ");
      		};
      		//lambda
      		like.lambda();
      		
      		/**
      		 *	lambda推导必须存在类型,以下是错误示范。
      		 *	()-> {
      		 *	System.out.println("i like lambda5 ");
      	     *	}.lambda();
      		*/
      	}
      }
      //接口
      interface ILike{
      	void lambda();
      }
      //外部类
      class Like implements ILike{
      	@Override
      	public void lambda() {
      		System.out.println("i like lambda ");
      	}
      }
    
    
      package com.sxt.thread;
      /**
       * lambda推导 +参数
       * @author 
       *
       */
      public class LambdaTest02 {
      	public static void main(String[] args) {
      		ILove love =(int a) -> {
      			System.out.println("i like lambda -->"+a);
      		};
      		love.lambda(100);
      		
      		//简化
      		love =(a) -> {
      			System.out.println("i like lambda -->"+a);
      		};
      		love.lambda(50);
      		//简化
      		love =a -> {
      			System.out.println("i like lambda -->"+a);
      		};
      		love.lambda(5);
      		//当方法体只有一句代码时,简化
      		love =a ->System.out.println("i like lambda -->"+a);
      		love.lambda(0);
      	}
      }
      //接口
      interface ILove{
      	void lambda(int a);
      }
      //外部类
      class Love implements ILove{
      	@Override
      	public void lambda(int a) {
      		System.out.println("i like lambda -->"+a);
      	}
      }
    
    
      package com.sxt.thread;
      /**
       * lambda推导 +参数+返回值
       * @author 
       *
       */
      public class LambdaTest03 {
      	public static void main(String[] args) {
      		IInterest interest = (int a,int c)-> {
      			System.out.println("i like lambda -->"+(a+c));
      			return a+c;
      		};
      		interest.lambda(100,200);
      		
      		//简化
      		interest = (a,c)-> {
      			System.out.println("i like lambda -->"+(a+c));
      			return a+c;
      		};
      		interest.lambda(200,200);
      		
      		//简化(当只有一条return语句)
      		interest = (a,c)-> {
      			return a+c;
      		};
      		//简化(当只有一条return语句)
      		interest = (a,c)-> a+c;
      		//简化(当只有一条return语句)
      		interest = (a,c)-> 100;
      		
      		System.out.println(interest.lambda(10, 20));
      	}
      }
      interface IInterest{
      	int lambda(int a,int b);
      }
      //外部类
      class Interest implements IInterest{
      	@Override
      	public int lambda(int a,int c) {
      		System.out.println("i like lambda -->"+(a+c));
      		return a+c;
      	}
      }
    
    
      package com.sxt.thread;
      /**
       * lambda推导
       * @author 
       *
       */
      public class LambdaTest04 {
      	public static void main(String[] args) {
      		new Thread(()->{
      			for(int i=0;i<100;i++) {
      				System.out.println("一边学习lambda");
      			}
      		}) .start();
      		
      		new Thread(()->	System.out.println("一边学习奔溃")) .start();
      	}
      }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值