【问题标题】:Load and start a Java class dynamically [closed]动态加载和启动 Java 类 [关闭]
【发布时间】:2012-11-08 09:59:53
【问题描述】:
Class<? extends Runnable> theClass = 
    Class.forName("C:\Myclass.class").asSubclass(Runnable.class);
Runnable instance = theClass.newInstance();
new Thread(instance).start();

我想这样写C:\\Myclass.class

【问题讨论】:

  • 问题是什么?
  • 所以这样写:C:\\Myclass.class
  • @Maroun85 我们不需要转义. 吗??因为. inregex 意味着匹配所有内容??
  • @GanGnaMStYleOverFlowErroR 这里没有正则表达式。

标签: java class


【解决方案1】:

Class.forName()java.lang.Thread 等类名作为参数,而不是文件路径。您必须使用动态 ClassLoader 加载您的类

见:Method to dynamically load java class files

【讨论】:

    【解决方案2】:

    您的Class.forName() 中有错误。

    您必须为此方法提供完全限定的类名 (FQCN)。

    如果您想从外部源加载某个类,您必须编写自己的ClassLoader

    【讨论】:

      猜你喜欢
      • 2011-04-04
      • 2012-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多