public class Main {
public static void main(String[] args){
ScheduledExecutorService service= Executors.newScheduledThreadPool(1);
service.scheduleAtFixedRate(new myRunnable(Test::print),1,2, TimeUnit.SECONDS);
ExecutorService executorService=Executors.newCachedThreadPool();
executorService.execute(new myRunnable(Test::print));
}
}
class Test{
static void print(){
System.out.println("hello");
}
}
class myRunnable implements Runnable{
Runnable r;
public myRunnable(Runnable r) {
this.r = r;
}
@Override
public void run() {
try{
r.run();
}catch (Throwable o){
o.printStackTrace();
}
}
}
我也不是很清除静态函数为什么能赋值给this.r,比较Test类连Runnable接口都没能实现。希望知道的朋友指点下。