在这里,我正在尝试使用内部静态辅助类实现单例模式以便于连接数据库:
package com.myapp.modellayer;
public class DatabaseConnection {
private DatabaseConnection() {
//JDBC code...
}
private static class ConnectionHelper {
// Instantiating the outer class
private static final DatabaseConnection INSTANCE = new DatabaseConnection();
}
public static DatabaseConnection getInstance() {
return ConnectionHelper.INSTANCE;
}
}
然而,我有疑问:这个静态内部类ConnectionHelper何时被加载到JVM内存中:
是在DatabaseConnection类被加载时,还是在调用getInstance()方法时?
static class
中的“static”一词与Java中成员声明中的“static”一词所指含义并不相同。这仅仅意味着它是一个嵌套的非内部类。 - user2864740