谁能告诉我这行代码是做什么的?我在一个android教程中学习了它,但无法理解它,谁能告诉我它的细节?
Class ourClass = Class.forName("com.prem.firsttry.STARTINGPOINT");
谁能告诉我这行代码是做什么的?我在一个android教程中学习了它,但无法理解它,谁能告诉我它的细节?
Class ourClass = Class.forName("com.prem.firsttry.STARTINGPOINT");
调用 Class.forName("X") 会导致名为 X 的类被动态加载(在运行时)。对 forName("X") 的调用会导致初始化名为 X 的类(即,JVM 在类加载后执行其所有静态块)。Class.forName("X") 返回与“X”类关联的 Class 对象。返回的 Class 对象不是“x”类本身的实例。
Class.forName("X") 加载尚未加载的类。JVM 会跟踪以前加载的所有类。此方法使用调用它的类的类加载器。“X”是所需类的完全限定名称。
此方法加载并链接一个 Java 类。构造一个Class
对象并将其提供给您。你可以继续用它制作一个对象newInstance()
。
这种方法最流行的用途是检查特定类是否存在以及是否可以加载(例如某些 JDBC 驱动程序)。如果不是,此方法将引发异常。这也会导致所述类的静态初始化。