Java: 方法在哪里?
Java: Where is the method?
我只是想通过阅读源代码来理解 api 的一些代码。这是一个 link:
在此class中您可以找到方法public int getInt(String path, int def)
。此方法调用 toInt(val)
。我在哪里可以找到这个方法。由于没有指定对象或 class,例如 anObject.toInt(val)
或 ClassName.toInt(val)
,因此必须在 class 或超级 class 中定义该方法,但我不能找到它。
我的问题:这是原始来源吗?你能找到吗?它在哪里?
在java文件的第一行可以看到一个带有static的import语句(就是静态import,只导入class的方法)
import static org.bukkit.util.NumberConversions.*;
你可以在这个link中找到方法。只需遍历 class 并搜索。
toInt()
方法来自classorg.bukkit.util.NumberConversions
.
现在,为什么没有指定 class,这是如何工作的?如果您查看文件顶部的导入,您会看到:
import static org.bukkit.util.NumberConversions.*;
这基本上意味着
Make available to me any public static method in in the org.bukkit.util.NumberConversions
class.
当您想使代码更简洁时,这是 Java 的一个有用功能。但是,由于负责此方法的 class 不是很明显,因此最好只将它用于广泛用户的辅助方法,例如此处的 toInt
。
另一个典型的例子是JUnit断言。甚至还有解释 in their javadoc :
These methods can be used directly: Assert.assertEquals(...), however, they read better if they are referenced through static import:
import static org.junit.Assert.*;
...
assertEquals(...);
我只是想通过阅读源代码来理解 api 的一些代码。这是一个 link:
在此class中您可以找到方法public int getInt(String path, int def)
。此方法调用 toInt(val)
。我在哪里可以找到这个方法。由于没有指定对象或 class,例如 anObject.toInt(val)
或 ClassName.toInt(val)
,因此必须在 class 或超级 class 中定义该方法,但我不能找到它。
我的问题:这是原始来源吗?你能找到吗?它在哪里?
在java文件的第一行可以看到一个带有static的import语句(就是静态import,只导入class的方法)
import static org.bukkit.util.NumberConversions.*;
你可以在这个link中找到方法。只需遍历 class 并搜索。
toInt()
方法来自classorg.bukkit.util.NumberConversions
.
现在,为什么没有指定 class,这是如何工作的?如果您查看文件顶部的导入,您会看到:
import static org.bukkit.util.NumberConversions.*;
这基本上意味着
Make available to me any public static method in in the
org.bukkit.util.NumberConversions
class.
当您想使代码更简洁时,这是 Java 的一个有用功能。但是,由于负责此方法的 class 不是很明显,因此最好只将它用于广泛用户的辅助方法,例如此处的 toInt
。
另一个典型的例子是JUnit断言。甚至还有解释 in their javadoc :
These methods can be used directly: Assert.assertEquals(...), however, they read better if they are referenced through static import:
import static org.junit.Assert.*; ... assertEquals(...);