Java.lang.Class.getDeclaredMethod() Method


The java.lang.Class.getDeclaredMethod() method returns a Method object that reflects the specified declared method of the class or interface represented by this Class object. The name parameter is a String that specifies the simple name of the desired method, and the parameterTypes parameter is an array of Class objects that identify the method's formal parameter types, in declared order


Following is the declaration for java.lang.Class.getDeclaredMethod() method

public Method getDeclaredMethod(String name, Class<?>... parameterTypes)
   throws NoSuchMethodException, SecurityException


  • name − This is the name of the method

  • parameterTypes − This is the parameter array.

Return Value

This method returns the Method object for the method of this class matching the specified name and parameters.


  • NoSuchMethodException − If a matching method is not found.

  • NullPointerException − If name is null.

  • SecurityException − If a security manager, s, is present.


The following example shows the usage of java.lang.Class.getDeclaredMethod() method.

package com.tutorialspoint;

import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {
      ClassDemo cls = new ClassDemo();
      Class c = cls.getClass();

      try {          
         // parameter type is null
         Method m = c.getDeclaredMethod("show", null);
         System.out.println("method = " + m.toString()); 

         // method Integer
         Class[] cArg = new Class[1];
         cArg[0] = Integer.class;
         Method lMethod = c.getDeclaredMethod("showInteger", cArg);
         System.out.println("method = " + lMethod.toString());
      } catch(NoSuchMethodException e) {

   private Integer show() {
      return 1;
   public void showInteger(Integer i) {
      this.i = i;
   public int i = 78655;

Let us compile and run the above program, this will produce the following result −

method = private java.lang.Integer
method = public void ClassDemo.showInteger(java.lang.Integer