Como listar todos os metodos 'visiveis' a uma classe

3 respostas
F

Por exemplo.. eu tenho a classe A

package pacoteA;

public class A {
	private metodoA(){}
	public metodoB(){}
	public metodoC(){}
	metodoD(){}
}

e a classe B

package pacoteB;

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

tem como? abs []'s

3 Respostas

A

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:

G

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

D

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()));
        }
Criado 24 de novembro de 2012
Ultima resposta 25 de nov. de 2012
Respostas 3
Participantes 4