Java Class getMethod() Method



Description

The Java Class getMethod() method returns a Method object that reflects the specified public member method of the class or interface represented by this Class object. The name parameter is a String specifying the simple name of the desired method.

The parameterTypes parameter is an array of Class objects that identify the method's formal parameter types, in declared order. If parameterTypes is null, it is treated as if it were an empty array. .

Declaration

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

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

Parameters

  • name − This is the name of the method.

  • parameterTypes − This is the list of parameters.

Return Value

This method returns the Method object that matches the specified name and parameterTypes.

Exception

  • NoSuchMethodException − if a matching method is not found or if the name is <init> or <clinit>.

  • NullPointerException − If name is null

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

Getting Method of a Class Example

The following example shows the usage of java.lang.Class.getMethod() method. In this program, we've created an instance of ClassDemo and then using getClass() method, the class of the instance is retrieved. Using getMethod(), 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.getMethod("show", null);
         System.out.println("method = " + m.toString());        
      } catch(NoSuchMethodException e) {
         System.out.println(e.toString());
      }
 
      try {
         // method Long
         Class[] cArg = new Class[1];
         cArg[0] = Long.class;
         Method lMethod = c.getMethod("showLong", cArg);
         System.out.println("method = " + lMethod.toString());
      } catch(NoSuchMethodException e) {
         System.out.println(e.toString());
      }
   }

   public Integer show() {
      return 1;
   }
    
   public void showLong(Long l) {
      this.l = l;
   }
   long l = 78655;
}

Output

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

method = public java.lang.Integer com.tutorialspoint.ClassDemo.show()
method = public void com.tutorialspoint.ClassDemo.showLong(java.lang.Long)

Getting Method of an ArrayList Example

The following example shows the usage of java.lang.Class.getMethod() method. In this program, we've used class of ArrayList. Using getMethod(), 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.getMethod("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 Method of a Thread Example

The following example shows the usage of java.lang.Class.getMethod() method. In this program, we've used class of Thread. Using getMethod(), 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.getMethod("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