下面這個程序就是通過靜態初始化塊的方法來完成一個不需要main 方法的Java程序。
public class Hello
{
static{
System.out.println(“No MainJava say Hello,World”);
System.exit(0);
}
}
另外一個我見到使用這種技巧的地方是在 數據庫訪問類在初始化數據池用到
class SomeDBManager{
private static InitialContext ic;
private static DataSource ds;
static {
if (ds == null) {
try {
ic = new InitialContext();
ds = (DataSource) ic.lookup(“java:comp/env/jdbc/snailIsPigWebApp”);
prepareConnection();
} catch (NamingException ex) {
ex.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
private static Connection getConn() throws SQLException {
return ds.getConnection();
}
public static void prepareConnection() throws SQLException {
Connection conn = getConn();
conn.close();
}
}