菜鸡学习day18
package day18;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Comparator;
import java.util.concurrent.Executor;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class D1801 {
public static void main(String[] args) {
lianXi03();
}
private static void xxx(){
ZiYuan baozi = new ZiYuan();
new Shengchan(baozi).start();
new Xiaofei(baozi).start();
}
private static void xianChengChi01(){
ExecutorService executorService = Executors.newFixedThreadPool(3);
executorService.submit(new RunnableImpl());
executorService.submit(new RunnableImpl());
executorService.submit(new RunnableImpl());
}
private static void lianXi01(){
invokeCook(()->{
System.out.println("吃饭了!");
});
}
private static void invokeCook(Cook cook){
cook.makeFood();
}
private static void lianXi02(){
Person person1 = new Person("小明",20);
Person person2 = new Person("小红",12);
Person person3 = new Person("小周",17);
Person[] array = {person1,person2,person3};
Arrays.sort(array,(Person o1,Person o2)->{
return o1.getAge() - o2.getAge();
});
System.out.println(Arrays.toString(array));
}
private static void lianXi03(){
invokeCalc(1,2,(int a,int b)->{
return a + b;
});
}
private static void invokeCalc(int a,int b,Calculator c){
int sum = c.calc(a,b);
System.out.println(sum);
}
}
package day18;
public interface Calculator {
public abstract int calc(int a,int b);
}
package day18;
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package day18;
public interface Cook {
public abstract void makeFood();
}
package day18;
public class RunnableImpl implements Runnable {
@Override
public void run() {
System.out.println("执行线程任务" + Thread.currentThread().getName());
}
}