JDK8.0的新特性,大概有以下一些:
允许在接口中有默认方法实现;
Lambda表达式;
函数式接口以及内置函数式接口;
Stream的API;
Map;
时间和日期API;
Annotations(注解);

Lambda表达式:是对匿名内部类的一种类型简化,使用Lambda表达式的一个前提就是接口必须是一个函数式接口,也就是说接口中只能有一个抽象方法;
JDK8引入了一个新的操作符 -> ,称为箭头运算符或者叫Lambda运算符;
用法:(…) -> {…}
前面的小括号里写需要被重写的匿名内部类的方法的参数列表,不需要写类型,因为类型已经在抽象类或者接口中被定义过了;后面大括号中写上方法体即可;
代码:
第一种,没有参数没有返回值,如果后面方法体重只有一句,可以省略大括号:

import org.junit.Test;

public class Test1 {
	/**
	 * Lambda表达式的代码演示,第一种:
	 * 	重写的方法没有参数,没有返回值
	 */
	@Test
	public void test1(){
		//首先用Lambda来写一个接口的实现类
		MyIn1 mi1 = () -> System.out.println("I love Carmelo Anthony!"); 
		//调用方法
		mi1.show();
	}
	
}

//定义一个接口
interface MyIn1 {
	public abstract void show();
}

执行结果:
I love Carmelo Anthony!

第二种,有一个参数,方法体中只有一句,而且不是返回语句:
这种只有一个参数的情况,可以把格式中的小括号去掉,即:

import org.junit.Test;

public class Test2 {
	/**
	 * Lambda表达式的代码演示,第二种:
	 * 	重写的方法有一个参数,没有返回值
	 */
	@Test
	public void test1(){
		//首先用Lambda来写一个接口的实现类,只有一个参数,所以表示参数列表的小括号可以省略
		MyIn2 mi2 = str -> System.out.println(str); 
		//调用方法
		mi2.show("I love Carmelo Anthony!");
	}
	
}

//定义一个接口
interface MyIn2 {
	public abstract void show(String str);
}

执行结果:
I love Carmelo Anthony!

第三种,有多个参数有返回值,方法体中只有一句,而且还是返回语句,那么可以省略return:

import org.junit.Test;

public class Test3 {
	/**
	 * Lambda表达式的代码演示,第三种:
	 * 	有多个参数有返回值,方法体中只有一句
	 */
	@Test
	public void test1(){
		//首先用Lambda来写一个接口的实现类,因为方法体只有一句return语句,所以直接省略return
		MyIn3 mi3 = (str,name) -> (str + name); 
		//调用方法
		String ss = mi3.show("I Love " , "Carmelo Anthony");
		System.out.println(ss);
	}
	
}

//定义一个接口
interface MyIn3 {
	public abstract String show(String str,String name);
}

执行结果:
I love Carmelo Anthony!

第四种,有参数,方法体有多条语句,有返回值:

import org.junit.Test;

public class Test4 {
	/**
	 * Lambda表达式的代码演示,第四种:
	 * 	重写的方法有多个参数,多条语句,有返回值
	 */
	@Test
	public void test1(){
		//首先用Lambda来写一个接口的实现类
		MyIn4 mi4 = (str,name) -> {
			String ss = str + name;
			return ss;
		};
		//调用方法
		String ss = mi4.show("I Love " , "Carmelo Anthony");
		System.out.println(ss);
	}
	
}

//定义一个接口
interface MyIn4 {
	public abstract String show(String str,String name);
}

执行结果:
I love Carmelo Anthony!

稍显啰嗦,从我的角度去理解Lambda表达式,如有错误欢迎指正!