如何在Eclipse中列出类的所有可用方法?

thk*_*ala 6 java eclipse methods

扩展Java类时,快速访问所有可用方法的实现非常有用,无论它们是在所述类中显式实现还是从其父类之一继承.

为此,我能够在Eclipse中找到的最接近的工具是"类型层次结构"视图,其中启用了"显示所有继承的成员"选项.不幸的是,该选项确实显示了所有继承的成员,包括已在父类中重写的成员.这使得很难一眼就知道哪个方法实现是相关的,并且在接口中使用默认方法会变得更加复杂.

是否有选项,视图,插件或其他技术,只允许快速访问与特定类相关的方法实现,包括任何继承的实现

dka*_*zel 5

选择 java 类型时,在编辑器中键入 Ctrl+O 两次会弹出一个大纲上下文对话框,其中显示成员和继承的成员,包括默认方法。

如果一个方法被覆盖,我认为它在列表中显示得更高?因此,您可以通过查看实现该方法的所有类来了解以这种方式重写哪些方法,还可以了解哪一个将按列表中的顺序执行?


小智 5

如果您使用的是 STS eclipse,请单击“显示视图”->“大纲视图”。

  • 这将列出类privatepublic的所有成员。单击特定成员,这将带您进入该特定方法定义。

  • 方法名称也可以复制


小智 1

import java.lang.reflect.*;

/**
 * Compile with this: C:\Documents and Settings\glow\My Documents\j>javac
 * DumpMethods.java
 * 
 * Run like this, and results follow C:\Documents and Settings\glow\My
 * Documents\j>java DumpMethods public void DumpMethods.foo() public int
 * DumpMethods.bar() public java.lang.String DumpMethods.baz() public static
 * void DumpMethods.main(java.lang.String[])
 */

public class DumpMethods {

    public void foo() {
    }

    public int bar() {
        return 12;
    }

    public String baz() {
        return "";
    }

    public static void main(String args[]) {
        try {
            Class c = DumpMethods.class;
            Method[] m = c.getDeclaredMethods();
            for (int i = 0; i < m.length; i++)
                System.out.println(m[i].toString());
        } catch (Throwable e) {
            System.err.println(e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)