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);


这不是声明。因此,将其置于方法或初始化块之外不是有效的语句。

10-04 19:31