如何使用.getName()方法在其他文件夹中的其他类上调用方法

时间:2018-07-23 12:11:01

标签: java file methods type-conversion

正如我的标题所暗示的,我正在寻找一种方法,该方法如何使用.getName()方法从另一个文件夹中的其他类调用方法,该方法返回String值。

我遇到了我无法真正理解的反思,它是否可以解决这个问题。

我的第一个文件具有要调用的方法,并且位于.\JBP (\ Java \ JBP)

public class jbp18 {
  public void desc() {
    print("Binary addition");
  }
}

我的主程序位于。 (\ Java)包含以下内容:

print(""+file.getName().replace(".class","")+" - ");
print(file.getName().replace(".class","").desc()); //SHOULD BE jbp18.desc()

我可以理解并使用比反射方法更简单的代码来制作print(jbp18.desc())吗?

我大约有20个文件需要这样,并且我基于它们的位置,所以我不能只调用它们,所以我想使用循环来使用jbp#.desc()方法获取所有描述。

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式调用方法:

假设我们有此类和方法

public class YourClass{
    public void printString(String myString){
        System.out.println(myString);
    }
}

1)首先获取您的方法,在此示例中,该方法具有String参数:

Method yourMethod = YourClass.class.getDeclaredMethod("printString", String.class);

然后,您可以通过以下方式调用它:

YourClass entity = new YourClass();
yourMethod.invoke(entity, "test123");