为什么每次,每个人都导入(或者这不是导入)
Class.forName("com.mysql.jdbc.Driver").newInstance();当我
import com.mysql.jdbc.Driver;资讯科技展示告示
他从未使用过导入com.mysql.jdbc.Driver
这两者有什么不同??
发布于 2012-10-28 14:33:53
当您实际上不知道需要加载哪个类时,您可以使用工厂方法。
在您的示例中,它是数据库驱动程序类上的Class.forName。
加载类是JVM的运行时指令,因此在本例中不需要import ...语句。
当您使用import ...特定的类时,Java编译器在编译的类中使用它之前尝试查找和加载它。在您的示例中,当您导入一个类并从未在您的代码中使用它时,通常您正在编写代码的IDE就像MyEclipse一样,您将被通知导入的类从未使用过。这不是错误或警告,但您可以安全地删除,以减少编译器的负载。
发布于 2012-10-28 14:25:36
使用Class.forName时不需要导入,因为它使用反射。
https://stackoverflow.com/questions/13109621
复制相似问题