クラス・ロードは静的メソッドを実行するためです
4814 ワード
データベースで一般的な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 }