Java Class getDeclaredMethod() Method



Description

The Java 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

Declaration

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

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

Parameters

  • 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.

Exception

  • NoSuchMethodException − If a matching method is not found.

  • NullPointerException − If name is null.

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

Getting Declared Method of a Class Example

The following example shows the usage of java.lang.Class.getDeclaredMethod() method. In this program, we've created an instance of ClassDemo and then using getClass() method, the class of the instance is retrieved. Using getDeclaredMethod(), we've retrieved required method and printed it.

package com.tutorialspoint;

import java.lang.reflect.Method;

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) {
         System.out.println(e.toString());
      }
   }

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

Output

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

method = private java.lang.Integer com.tutorialspoint.ClassDemo.show()
method = public void com.tutorialspoint.ClassDemo.showInteger(java.lang.Integer)

Getting Declared Method of an ArrayList Example

The following example shows the usage of java.lang.Class.getDeclaredMethod() method. In this program, we've used class of ArrayList. Using getDeclaredMethod(), we've retrieved required method and printed it.

package com.tutorialspoint;

import java.lang.reflect.Method;
import java.util.ArrayList;

public class ClassDemo {

   public static void main(String[] args) {
   
      Class c = ArrayList.class;

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

Output

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

method = public int java.util.ArrayList.size()

Getting Declared Method of a Thread Example

The following example shows the usage of java.lang.Class.getDeclaredMethod() method. In this program, we've used class of Thread. Using getDeclaredMethod(), we've retrieved required method and printed it.

package com.tutorialspoint;

import java.lang.reflect.Method;

public class ClassDemo {

   public static void main(String[] args) {
   
      Class c = Thread.class;

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

Output

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

method = public void java.lang.Thread.start()
java_lang_class.htm
Advertisements