Java 在这个示例代码中如何实例化接口?
我正在阅读的一本手册包含了这个示例,其中创建了一个Java 在这个示例代码中如何实例化接口?,java,multithreading,concurrency,Java,Multithreading,Concurrency,我正在阅读的一本手册包含了这个示例,其中创建了一个ScheduledExecutorService。但是,API显示,ScheduledExecutorService是一个接口,而不是一个类。那么,它是如何被实例化的呢 下面是显示的示例代码: 导入java.util.concurrent.ScheduledExecutorService; 导入java.util.concurrent.Executors; 导入java.util.concurrent.ScheduledFuture; 导入静态j
ScheduledExecutorService
。但是,API显示,ScheduledExecutorService
是一个接口,而不是一个类。那么,它是如何被实例化的呢
下面是显示的示例代码:
导入java.util.concurrent.ScheduledExecutorService;
导入java.util.concurrent.Executors;
导入java.util.concurrent.ScheduledFuture;
导入静态java.util.concurrent.TimeUnit.*;
类蜂鸣器控制{
专用最终计划执行器服务计划程序=
Executors.newScheduledThreadPool(1);
公众假期(分钟){
最终可运行蜂鸣器=新可运行(){
公开募捐{
System.out.println(“嘟嘟声”);
}
};
最终计划未来=
scheduleAtFixedRate(蜂鸣器,250,250毫秒);
时间表(
新的Runnable(){
公开募捐{
future.cancel(true);
}
},3秒);
而(!future.isDone()){
试一试{
睡眠(10);
}捕捉(中断异常e){
}
}
scheduler.shutdown();
}
公共静态void main(字符串[]args){
BeeperControl bc=新的BeeperControl();
bc.beepforamine();
}
}
是一个工厂方法,它返回实现ScheduledExecutorService
接口的类
根据GrepCode:
publicstaticscheduledexecutorservice newScheduledThreadPool(int-corePoolSize,ThreadFactory-ThreadFactory){
返回新的ScheduledThreadPoolExecutor(corePoolSize,threadFactory);
}
因此,这里它返回了实现ScheduledExecutorService
接口的ScheduledThreadPoolExecutor
的新实例