public class LambdaThread {
static class Test implements Runnable{
//静态内部类
public void run() {
for(int i=0;i<5;i++) {
System.out.println("静态内部类");
}
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<5;i++) {
System.out.println("局部内部类");
}
System.out.println("-------------");
}
}
new Thread(new Test2()).start();
//匿名内部类
new Thread(new Runnable(){
public void run() {
for(int i=0;i<5;i++) {
System.out.println("匿名内部类");
}
System.out.println("-------------");
}
}).start();
//jdk8 简化后 lambda
new Thread(()->{
for(int i=0;i<5;i++)
System.out.println("简化后");
}).start();
}
}
public class Lambda {
static class Test2 implements NewLambda{
public void lambda() {
System.out.println("推导Lambda二:静态内部类");
}
}
public static void main(String[] args) {
class Test3 implements NewLambda{
public void lambda() {
System.out.println("推导Lambda四:方法内部类");
}
}
//外部类
NewLambda nl = new Test();
nl.lambda();
//静态内部类
nl = new Test2();
nl.lambda();
//匿名内部类
nl = ()->{
System.out.println("推导Lambda三:匿名内部类");
};
nl.lambda();
//方法内部类
nl = new Test3();
nl.lambda();
}
}
interface NewLambda{
void lambda();
}
class Test implements NewLambda{
public void lambda() {
System.out.println("推导Lambda一");
}
}
public class LambdaTest1 {
public static void main(String[] args) {
Person p = (String name)->{
System.out.println(name);
};
p.data("张三");
//简化
p = (name)->System.out.println(name);
p.data("李四");
p = name->System.out.println(name);
p.data("王五");
}
}
interface Person{
void data(String name);
}
public class LambdaTest2 {
public static void main(String[] args) {
Calculator c = (int a,int b)->{
return a+b;
};
System.out.println(c.add(5, 3));
c = (a,b)->{
return a+b;
};
System.out.println(c.add(10, 4));
c = (a,b)->a+b;
System.out.println(c.add(20, 10));
}
}
interface Calculator {
int add(int a, int b);
}
public class LambdaTest3 {
public static void main(String[] args) {
new Thread(()->{
for(int i=0;i<5;i++)
System.out.println("学习lambda");
}).start();
new Thread(()->System.out.println("实现简化线程")).start();
}
}
原文:https://www.cnblogs.com/xiaokw/p/12678788.html