Java:方法在哪里?

时间:2015-11-28 11:35:37

标签: java class methods call superclass

我只是通过阅读源代码来尝试理解api的一些代码。这是一个链接:

https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse/src/main/java/org/bukkit/configuration/MemorySection.java

在此课程中,您可以找到方法public int getInt(String path, int def)。此方法调用toInt(val)。我在哪里可以找到这种方法。由于没有指定的对象或类,例如anObject.toInt(val)ClassName.toInt(val),该方法必须在该类或超类中定义,但我无法找到它。

我的问题:这是原始来源吗?你能找到吗?它在哪里?

2 个答案:

答案 0 :(得分:3)

你可以在java文件的第一行找到一个带有static的import语句(这只是静态导入,只导入类的方法)。

import static org.bukkit.util.NumberConversions.*;

您可以在此link中找到该方法。只需遍历课程并进行搜索。

答案 1 :(得分:3)

toInt()方法来自班级org.bukkit.util.NumberConversions

现在,为什么不指定类,这怎么工作?如果查看文件顶部的导入,您会看到:

import static org.bukkit.util.NumberConversions.*;

这基本上意味着

  

向我提供org.bukkit.util.NumberConversions类中的任何公共静态方法。

当您希望使代码更简洁时,这是Java的一个有用功能。但是,由于负责此方法的类并不是很明显,因此最好只将其用于广泛用户的帮助方法,例如toInt

另一个典型的例子是JUnit断言。甚至解释了in their javadoc

  

这些方法可以直接使用:Assert.assertEquals(...),但是,如果通过静态导入引用它们,它们会更好地读取:

import static org.junit.Assert.*;
   ...
    assertEquals(...);