标签:项目 turn 数列 nop nal inter sys new function
要求: 1 接口只有1个抽象方法,可以使用 @FunctionalInterface 注解定义,不是必须
2 lambda三要素
2.1: () 代表参数列表,类型可有可无,java回自己推算
2.2: -> 连接符
2.3: {} 方法体 , 只有1行代码可以省略
/**
* 无参无返回值函数
*/
@FunctionalInterface
public interface NoParaAndReturn {
//打印参数
void printParameter();
}
//有参无返回值函数
@FunctionalInterface
interface HaveParaAndNoReturn {
//打印参数
void printParameter(String color, String inch);
}
//无参有返回值函数
interface NoParaAndHaveReturn {
int printParameter();
}
//有参数有返回值
interface HaveParaAndHaveReturn {
int printParameter(String color, String inch);
}
//############## 1 无参无返回值函数 ###################
@Test
public void noParaAndReturn() {
// ######### 内部类实现 #########
NoParaAndReturn innerClass = new NoParaAndReturn() {
@Override
public void printParameter() {
System.out.println("内部类实现:这是一个小米手机");
}
};
innerClass.printParameter();
//######## lamda类实现 #########
NoParaAndReturn lambda = () -> {
System.out.println("lamda类实现:这是一个华为手机");
};
lambda.printParameter();
}
//############## 2 有参无返回值函数 ###################
@Test
public void haveParaAndNoReturn() {
// ######### 内部类实现 #########
HaveParaAndNoReturn innerClass = new HaveParaAndNoReturn() {
@Override
public void printParameter(String color, String inch) {
System.out.println("内部类实现:华为p30颜色:" + color + "英寸:" + inch);
}
};
innerClass.printParameter("白色", "5.2");
//######## lamda类实现 #########
HaveParaAndNoReturn lambda = (color, inch) -> System.out.println("lamda类实现:华为p30颜色:" + color + "英寸:" + inch);
lambda.printParameter("白色", "5.2");
}
//############## 3 无参有返回值函数 ###################
@Test
public void noParaAndHaveReturn() {
// ######### 内部类实现 #########
NoParaAndHaveReturn innerClass = new NoParaAndHaveReturn() {
@Override
public int printParameter() {
System.out.println("内部类实现:定义返回值 0");
return 0;
}
};
int innerClassReturn = innerClass.printParameter();
System.out.println("内部类实现输出返回值" + innerClassReturn);
//######## lamda类实现 #########
NoParaAndHaveReturn lambda = () -> {
System.out.println("lamda类实现:定义返回值 0");
return 0;
};
int lambdaReturn = lambda.printParameter();
System.out.println("lamda类实现输出返回值" + lambdaReturn);
}
//############## 4 有参数有返回值函数 ###################
@Test
public void HaveParaAndHaveReturn() {
// ######### 内部类实现 #########
HaveParaAndHaveReturn innerClass = new HaveParaAndHaveReturn() {
@Override
public int printParameter(String color, String inch) {
System.out.println("内部类实现:定义返回值 0");
return 0;
}
};
int innerClassReturn = innerClass.printParameter("白色", "5.2");
System.out.println("内部类实现输出返回值" + innerClassReturn);
//######## lamda类实现 #########
HaveParaAndHaveReturn lambda = (colar, inch) -> {
System.out.println("lamda类实现:定义返回值 0");
return 0;
};
int lombdaReturn = lambda.printParameter("白色", "5.2");
System.out.println("lamda类实现输出返回值" + lombdaReturn);
}
在项目中,new Thread 的时候用到过,还有lambda的foreach,比较常用,,其他的还没有用到
标签:项目 turn 数列 nop nal inter sys new function
原文地址:https://www.cnblogs.com/draymond/p/11468735.html