Quando o professor renomeou a classe para ConnectionFactory eu fiz diferente e também funcionou; fiz assim:
public class TestandoConexao {
    public  Connection conectaNoBanco() throws SQLException { // Aqui deixei como do professor,      
        return DriverManager
                .getConnection("jdbc:mysql://localhost/bdTest?useTimezone=true&serverTimezone=UTC", "root", "t9x7g9a1");
        }
    public void desconectaDoBanco() throws SQLException { // Criei esse método para desconectar do banco, ele recebe a conexão e em seguida fecha.
        Connection cnx = DriverManager
                .getConnection("jdbc:mysql://localhost/bdTest?useTimezone=true&serverTimezone=UTC", "root", "t9x7g9a1");
        cnx.close();
    }
    public void buscaAlunos() throws SQLException { // esse método busca no banco os objetos e retorna em uma lista.
        Connection cnx = DriverManager
                .getConnection("jdbc:mysql://localhost/bdTest?useTimezone=true&serverTimezone=UTC", "root", "root");
        Statement stm = cnx.createStatement();
        stm.execute("select * from aluno");
        ResultSet result = stm.getResultSet();
        while(result.next()) {
            List<Object> listaFinal = new ArrayList<Object>();
            int id = result.getInt("id");
            listaFinal.add(id);
            String nome = result.getString("nome");
            listaFinal.add(nome);
            int idade = result.getInt("idade");
            listaFinal.add(idade);
            boolean matriculado = result.getBoolean("matriculado");
            listaFinal.add(matriculado);
            System.out.println(listaFinal);
        }
    }
Criei outra classe com o método main e chamei esses métodos, funcionaram, e fiquei muito feliz rs