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(); .