【发布时间】:2018-07-12 21:48:29
【问题描述】:
当我们动态加载.class类文件时,需要使用反射来访问类中定义的方法,对吗?
当我们在 Java 程序中使用 JDBC 驱动程序时,
- 如果我没记错的话,JDBC 驱动程序也是在后台动态加载的。
- 但我们永远不需要使用反射来访问 JDBC 驱动程序中定义的方法。相反,我们
import java.sql并访问java.sql中定义的类和方法。
在引擎盖下,是否有反思?如果没有,它如何在没有反射的情况下工作?
一般来说,当我们动态加载一个.java类文件时,我们如何消除或隐藏使用反射来访问类中定义的方法,就像JDBC驱动一样?
顺便问一下,JDBC 驱动程序是否准确定义了一个类?
谢谢。
【问题讨论】:
-
仔细查看
java.sql包。几乎所有东西都是接口而不是类,所以任何实现接口的类都可以在幕后插入。 -
仅供参考: 您不能“动态加载 .java 类文件”。您加载
.class文件,而不是.java文件。 -
@Andreas 谢谢。已更正。
标签: java jdbc dynamic-loading