public class MyThreadPool {
ExecutorService es= Executors.newFixedThreadPool(6);
Executors.newFixedThreadPool(6);
}
如果您在IDEA中输入这样的代码,则在第3行会出现错误:无法解析符号'newFixedThreadPool'。为什么要编写这样的代码?因为通常我会写
A.Method1().var
。当IDEA看到.var
会自动补充返回值,但在这种情况下不可以。这是为什么? 最佳答案
在Java中,除变量声明/初始化之外的任何语句都不能在方法或初始化块之外进行。
ExecutorService es= Executors.newFixedThreadPool(6);
这是一个声明。给它分配一个值是有效的。
Executors.newFixedThreadPool(6);
这不是声明。因此,将其置于方法或初始化块之外不是有效的语句。