gpt4 book ai didi

java - 加载类

转载 作者:行者123 更新时间:2023-12-01 15:58:16 25 4
gpt4 key购买 nike

我正在使用 Tomcat 运行 Eclipse Java-EE,并且正在尝试找出如何加载类,但到目前为止还没有成功。由于我正在运行 Tomcat,类将根据 Tomcat 的目录进行加载,在该目录中它将 java 文件夹编译为类文件?

一个例子是:

  ClassLoader myClassLoader = DataType.class.getClassLoader();  

DataType load(String classname)
{
try{
String class1name = classname;
Class myClass = myClassLoader.loadClass(class1name);
Constructor maker = myClass.getConstructor();
DataType datatype = (DataType) maker.newInstance();
return datatype;
} catch(Exception ex)
{
return null;
}
}

我传递的是一个简单的名称,例如“类名”,除了文件名之外,我还需要指定更多内容吗?

最佳答案

  1. 完整的类名由包和类名组成,例如“java.lang.String”。

  2. 打印捕获的异常几乎总是一个好主意。否则,当出现问题时,你将不知道为什么。

  3. 变量class1name是多余的。您只需执行loadClass(classname)即可。

  4. 像 Tomcat 这样的 servlet 容器中的类加载比常规应用程序中的类加载稍微复杂一些。有根类加载器,以及每个应用程序的单独加载器(将根加载器作为其父级)。大多数时候,您不需要了解这些,但当您从类路径加载资源或动态加载类时,它就变得很重要。这给我们带来了最重要的问题:

  5. 为什么要使用动态类加载?可能有一个很好的理由,但从提供的代码来看并不清楚。

关于java - 加载类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com