Java:方法在哪里?

标签 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),因此必须在该类或父类(super class)中定义该方法,但我找不到它。

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

最佳答案

toInt() 方法来自 org.bukkit.util.NumberConversions 类。

现在,为什么没有指定类,这是如何工作的?如果您查看文件顶部的导入,您将看到:

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

这基本上意味着

Make available to me any public static method in in the org.bukkit.util.NumberConversions class.

当你想让你的代码更简洁时,这是 Java 的一个有用的特性。然而,由于负责此方法的类不是很明显,因此最好只将它用于广泛用户的辅助方法,例如此处的 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(...);

关于Java:方法在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33970860/

相关文章:

java - Java中getter的访问安全

java - 有没有办法让不同的 RequestBodies 的不同方法具有相同的映射? (补丁请求)

java - 从父类访问变量

python - 使用 tempfile 写入一个 csv 临时文件

java.io.IOException : Connection reset by peer

Java SwingX JXCollapsiblePanel 的设置和使用

java - 加载一个实现另一个类的类 - Java

java - 减慢对特定函数的调用

c++ - 为什么获取成员函数指针值需要在类内部进行类名限定?

android - BroadcastReceiver 和 Activity 之间的通信 - android