クラス・ロードは静的メソッドを実行するためです


データベースで一般的なClassを呼び出します.forName("com.mysql.jdbc.Driver");データベースのロードに使用する文です.
このようなソースコードは
 1 public class Driver extends NonRegisteringDriver implements java.sql.Driver {
 2 
 3     static {
 4         try {
 5             java.sql.DriverManager.registerDriver(new Driver());
 6         } catch (SQLException E) {
 7             throw new RuntimeException("Can't register driver!");
 8         }
 9     }
10 
11 
12     public Driver() throws SQLException {
13         // Required for Class.forName().newInstance()
14     }
15 }

このようなロードの目的は、このような静的メソッドに依存することである.このようなオブジェクトを作成することによって、このような静的メソッドを実装するために動的にロードすることもできます.
このような静的メソッドを実行するために、このようなオブジェクトをロードしても作成しても目的です.
クラスのロードをテストし、静的メソッドを作成
 1 package cn.itcast.util;
 2 
 3 public class JdbcUtil {
 4 
 5     static 
 6     {
 7         System.out.println("load this class");
 8     }
 9     
10     public static void main (String[] args) throws ClassNotFoundException
11     {
12         //aa b=new aa();
13         Class.forName("cn.itcast.util.aa");
14         System.out.println("xxxxxxxx");
15     }
16 }
17 class aa
18 {
19     static 
20     {
21         System.out.println("load this class aaaaaaaaaa");
22     }
23 }