A
Class
class está localizada no pacote java.lang, portanto, é distribuída com java e importada automaticamente para todas as classes. O que
forName()
método faz, é apenas retornar a Class
objeto para o parâmetro que foi carregado pelo carregador de classes. A newInstance()
O método retorna uma nova instância da classe. Então o que acontece é que você chama
Class.forName(...)
ele retorna com.mysql.jdbc.Driver.class. Você então chama newInstance()
nessa classe que retorna uma instância da classe, sem parâmetros, então está basicamente chamando new com.mysql.jdbc.Driver();
.