Той го регистрира, защото зарежда класа в паметта и изпълнява статичните инициализатори на класа. След това кодът на статичния инициализатор извиква JDBC рамката, за да каже „Здравей, аз съм JDBC драйвер“ (чрез извикване на DriverManager.registerDriver
).
Например, класът на драйвера ще изглежда неясно така:
package com.example.jdbc;
import java.sql.DriverManager;
public class Driver implements java.sql.Driver {
static {
DriverManager.registerDriver(new Driver());
}
// ...implementation...
}
След това, когато направите Class.forName("com.example.jdbc.Driver")
, той зарежда класа и изпълнява статичния инициализатор, който създава екземпляр и го регистрира с DriverManager
.
Трябва да отбележа, че както казва Андреас , съвременните JDBC драйвери не се нуждаят от вас, за да правите това.