Mega Code Archive

 
Categories / Java / Reflection
 

Get all methods including the inherited method Using the getMethods(), we can only access public methods

import java.lang.reflect.Method; class GetMethods {   public int add(int numberA, int numberB) {     return numberA + numberB;   }   protected int multiply(int numberA, int numberB) {     return numberA * numberB;   }   private double div(int numberA, int numberB) {     return numberA / numberB;   } } public class Main {   public static void main(String[] args) throws Exception {     GetMethods object = new GetMethods();     Class clazz = object.getClass();     Method[] methods = clazz.getMethods();     for (Method method : methods) {       System.out.println("Method name        = " + method.getName());       System.out.println("Method return type = " + method.getReturnType().getName());       Class[] paramTypes = method.getParameterTypes();       for (Class c : paramTypes) {         System.out.println("Param type         = " + c.getName());       }     }     Method method = clazz.getMethod("add", new Class[] { int.class, int.class });     System.out.println("Method name: " + method.getName());   } }