在"新"之后/之后使用花括号的代码?

jhl*_*u87 2 java syntax curly-braces

private static ThreadLocal<Connection> connectionHolder = new ThreadLocal<Connection>() {
    public Connection initialValue() { 
         return DriverManager.getConnection(DB_URL);
    }
};
Run Code Online (Sandbox Code Playgroud)

我不明白星星内部发生了什么.这是一种将方法插入类的方法吗?

Rya*_*art 5

ThreadLocal 的initialValue()方法只是构造一个包含null以外值的ThreadLocal的方法.

编辑:哦,我知道那不是你要问的.你有什么就像你做的一样:

public class MyOwnThreadLocal extends ThreadLocal {
    public Connection initialValue() {
        return DriverManager.getConnection(DB_URL);
    }
}
Run Code Online (Sandbox Code Playgroud)

除了你的版本不需要一个完全独立的类定义 - 因此它被称为"匿名类".