Como listar todos os metodos 'visiveis' a uma classe

Por exemplo… eu tenho a classe A

[code]package pacoteA;

public class A {
private metodoA(){}
public metodoB(){}
public metodoC(){}
metodoD(){}
}[/code]

e a classe B

[code]package pacoteB;

public class B {

public static void main(String[] args){
	new B().getMetodosVisiveisPorVoceDaClasse(A.class);
}

}[/code]

tem como? abs []'s

Na hora q vc cria uma instância da classe todos os métodos visíveis( públicos) aparecem depois do ponto só pressionar ctrl + space. LOL agora via programação não sei .

:stuck_out_tongue:

Da uma estutada ai -> Java Reflection API :wink:

Você pode usar a reflection api do java para fazer isso.
Você pode por exemplo pegar todos os metodos publicos de uma classe inclusive os metodos erdados da seguinte forma:

public static void main(String[] args) {
        // TODO code application logic here
        Class<?> a =A.class;
        System.out.println("Pegando todos os metodos publicos");
        Method[] metodosPulicos = a.getMethods();
        
        for(Method metodos : metodosPulicos){
            
            System.out.println("Nome do metodo "+metodos.getName()+" Modificador "+Modifier.toString(metodos.getModifiers()));
        }
    }

ou se quiser pode também pegar todos os metodos declarados na classe e verificar seu modificador, se é public private ou default.

public static void main(String[] args) {
        // TODO code application logic here
        Class<?> a =A.class;
        System.out.println("Pegando todos os metodos publicos");
        Method[] metodosPulicos = a.getDeclaredMethods();
        
        for(Method metodos : metodosPulicos){
            
            System.out.println("Nome do metodo "+metodos.getName()+" Modificador "+Modifier.toString(metodos.getModifiers()));
        }