这里说明一个很明显直观的区别,使用反射可以在编译期不依赖于jar包,在运行时依赖.
当我们不导入相关Jar包时.
当我们不使用反射机制
public class Demo1 {
public static void main(String[] args) throws Exception{
DriverManager.registerDriver(new com.mysql.cj.jdbc.Driver());
//Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/s1?userSSL=false&serverTimezone=UTC","root","root");
PreparedStatement pstm = conn.prepareStatement("select * from user");
ResultSet rs = pstm.executeQuery();
while(rs.next()){
System.out.println(rs.getString("uid"));
}
}
}
我们这里可以看到是编译错误.
当我们使用反射机制