package J20250730.demo03_callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.FutureTask; /** * @author WanJl * @version 1.0 * @title Main * @description * @create 2025/7/30 */ public class Main { public static void main(String[] args) throws ExecutionException, InterruptedException { //3、创建实现类的对象 Computer c=new Computer(); //4、创建FutureTask对象,把Callable的实现类的对象作为FutureTask类的构造方法的参数 FutureTask ft=new FutureTask(c); // 父类的引用执行子类的对象 //5、创建Thread类的对象,把FutureTask对象作为Thread类的构造方法的参数 Thread t1=new Thread(ft,"线程1"); //6、调用Thread对象的start方法,启动线程 t1.start(); //7、再调用Future接口的get方法(实际上就是FutureTask对象的get方法),获取线程结束后的计算结果。 Integer sum = ft.get(); System.out.println(sum); } }