【问题标题】:How to loop through classes in a folder and from each class use a method?(No clue where to start)如何遍历文件夹中的类并从每个类中使用方法?(不知道从哪里开始)
【发布时间】:2014-05-25 01:40:23
【问题描述】:

我想要做的是有一个包含类的文件夹。然后能够遍历这些类,并触发一个名为“String getVariables(Object player, String line)”的方法。

但我不知道从哪里开始......

【问题讨论】:

  • 您是否希望该文件夹中的许多类都具有该方法的版本?如果是这样,它们是否共享声明该方法的公共接口或抽象超类?
  • 为什么返回String时是“getVariables”?为什么每个类都有一个 getVariables 需要一个“对象”播放器和一个“字符串”行(那里有关系)?你有这些类的实例吗?如果没有,它们是否有默认构造函数?

标签: java loops


【解决方案1】:

我不会向您提供代码,但我会向您发送一个可以解决您的问题的方向。

1:找到文件(哪些是类),如果需要,将它们存储在数组中。

2:创建一个ClassLoader/URLClassLoader,并将url设置为文件的路径{http://docs.oracle.com/javase/7/docs/api/java/net/URLClassLoader.html}

3:根据方法的访问权限(静态/实例),您要么需要创建该类的实例,要么只调用静态方法,这可以通过反射来完成{http://docs.oracle.com/javase/tutorial/reflect/}

这个问题已被问过几次或与您类似的问题。

Method to dynamically load java class files

Java: How to load Class stored as byte[] into the JVM?

How do I invoke a Java method when given the method name as a string?

希望对你有帮助!

【讨论】:

  • 谢谢,我不是在寻找代码,只是朝着正确的方向前进。
猜你喜欢
  • 2017-07-03
  • 2016-12-30
  • 1970-01-01
  • 2014-02-12
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多