Java Class getDeclaredMethods() Method



Description

The Java Class getDeclaredMethods() method returns an array of Method objects including public, protected, default (package) access, and private methods, but excludes inherited methods. The method returns an array of length 0 if the class or interface declares no methods, or if this Class object represents a primitive type, an array class, or void

Declaration

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

public Method[] getDeclaredMethods() throws SecurityException

Parameters

NA

Return Value

This method returns the array of Method objects representing all the declared methods of this class.

Exception

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

Getting Declared Methods of a Class Example

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

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();

      // returns the array of Method objects 
      Method[] m = c.getDeclaredMethods();
      for(int i = 0; i < m.length; i++) {
         System.out.println("method = " + m[i].toString());
      }
   }

   public ClassDemo() {
      // no argument constructor
   }   

   public void showString(String string1) {
      this.string1 = string1;
   }

   private void showInteger(Integer i) {
      this.i = i;
   }

   public Integer i = 10;
   private String string1 = "tutorialspoint"; 
} 

Output

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

method = private void com.tutorialspoint.ClassDemo.showInteger(java.lang.Integer)
method = public void com.tutorialspoint.ClassDemo.showString(java.lang.String)
method = public static void com.tutorialspoint.ClassDemo.main(java.lang.String[])

Getting Declared Methods of ArrayList Example

The following example shows the usage of java.lang.Class.getDeclaredMethods() method. In this program, we've class of ArrayList. Using getDeclaredMethods(), we've retrieved all declared methods and printed them.

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;

      // returns the array of Method objects 
      Method[] m = c.getDeclaredMethods();
      for(int i = 0; i < m.length; i++) {
         System.out.println("method = " + m[i].toString());
      }
   }
} 

Output

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

method = public boolean java.util.ArrayList.remove(java.lang.Object)
method = public java.lang.Object java.util.ArrayList.remove(int)
method = public int java.util.ArrayList.size()
method = public java.lang.Object java.util.ArrayList.get(int)
method = public boolean java.util.ArrayList.equals(java.lang.Object)
method = public int java.util.ArrayList.hashCode()
method = public java.lang.Object java.util.ArrayList.clone()
method = public int java.util.ArrayList.indexOf(java.lang.Object)
method = public void java.util.ArrayList.clear()
method = public int java.util.ArrayList.lastIndexOf(java.lang.Object)
method = public boolean java.util.ArrayList.isEmpty()
method = public void java.util.ArrayList.replaceAll(java.util.function.UnaryOperator)
method = private void java.util.ArrayList.add(java.lang.Object,java.lang.Object[],int)
method = public void java.util.ArrayList.add(int,java.lang.Object)
method = public boolean java.util.ArrayList.add(java.lang.Object)
method = public java.util.List java.util.ArrayList.subList(int,int)
method = public java.lang.Object[] java.util.ArrayList.toArray()
method = public java.lang.Object[] java.util.ArrayList.toArray(java.lang.Object[])
method = public java.util.Iterator java.util.ArrayList.iterator()
method = public boolean java.util.ArrayList.contains(java.lang.Object)
method = public java.util.Spliterator java.util.ArrayList.spliterator()
method = public boolean java.util.ArrayList.addAll(int,java.util.Collection)
method = public boolean java.util.ArrayList.addAll(java.util.Collection)
method = public java.lang.Object java.util.ArrayList.set(int,java.lang.Object)
method = private void java.util.ArrayList.readObject(java.io.ObjectInputStream) throws java.io.IOException,java.lang.ClassNotFoundException
method = private void java.util.ArrayList.writeObject(java.io.ObjectOutputStream) throws java.io.IOException
method = public void java.util.ArrayList.forEach(java.util.function.Consumer)
method = public void java.util.ArrayList.sort(java.util.Comparator)
method = public void java.util.ArrayList.ensureCapacity(int)
method = public void java.util.ArrayList.trimToSize()
method = java.lang.Object java.util.ArrayList.elementData(int)
method = private java.lang.Object[] java.util.ArrayList.grow()
method = private java.lang.Object[] java.util.ArrayList.grow(int)
method = int java.util.ArrayList.indexOfRange(java.lang.Object,int,int)
method = int java.util.ArrayList.lastIndexOfRange(java.lang.Object,int,int)
method = private void java.util.ArrayList.rangeCheckForAdd(int)
method = private void java.util.ArrayList.fastRemove(java.lang.Object[],int)
method = private boolean java.util.ArrayList.equalsArrayList(java.util.ArrayList)
method = boolean java.util.ArrayList.equalsRange(java.util.List,int,int)
method = private void java.util.ArrayList.checkForComodification(int)
method = int java.util.ArrayList.hashCodeRange(int,int)
method = private static java.lang.String java.util.ArrayList.outOfBoundsMsg(int,int)
method = private java.lang.String java.util.ArrayList.outOfBoundsMsg(int)
method = private void java.util.ArrayList.shiftTailOverGap(java.lang.Object[],int,int)
method = boolean java.util.ArrayList.batchRemove(java.util.Collection,boolean,int,int)
method = static java.lang.Object java.util.ArrayList.elementAt(java.lang.Object[],int)
method = public boolean java.util.ArrayList.removeIf(java.util.function.Predicate)
method = boolean java.util.ArrayList.removeIf(java.util.function.Predicate,int,int)
method = private static long[] java.util.ArrayList.nBits(int)
method = private static void java.util.ArrayList.setBit(long[],int)
method = private static boolean java.util.ArrayList.isClear(long[],int)
method = private void java.util.ArrayList.replaceAllRange(java.util.function.UnaryOperator,int,int)
method = public java.lang.Object java.util.ArrayList.getFirst()
method = public java.lang.Object java.util.ArrayList.getLast()
method = public void java.util.ArrayList.addFirst(java.lang.Object)
method = public void java.util.ArrayList.addLast(java.lang.Object)
method = public java.lang.Object java.util.ArrayList.removeFirst()
method = public java.lang.Object java.util.ArrayList.removeLast()
method = protected void java.util.ArrayList.removeRange(int,int)
method = public boolean java.util.ArrayList.removeAll(java.util.Collection)
method = public boolean java.util.ArrayList.retainAll(java.util.Collection)
method = public java.util.ListIterator java.util.ArrayList.listIterator(int)
method = public java.util.ListIterator java.util.ArrayList.listIterator()
method = void java.util.ArrayList.checkInvariants()

Getting Declared Methods of Thread Example

The following example shows the usage of java.lang.Class.getDeclaredMethods() method. In this program, we've class of Thread. Using getDeclaredMethods(), we've retrieved all declared methods and printed them.

package com.tutorialspoint;

import java.lang.reflect.Method;

public class ClassDemo {

   public static void main(String[] args) {

      Class c = Thread.class;

      // returns the array of Method objects 
      Method[] m = c.getDeclaredMethods();
      for(int i = 0; i < m.length; i++) {
         System.out.println("method = " + m[i].toString());
      }
   }
} 

Output

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

method = public final java.lang.String java.lang.Thread.getName()
method = public java.lang.StackTraceElement[] java.lang.Thread.getStackTrace()
method = void java.lang.Thread.priority(int)
method = void java.lang.Thread.daemon(boolean)
method = public void java.lang.Thread.run()
method = final void java.lang.Thread.runWith(java.lang.Object,java.lang.Runnable)
method = public void java.lang.Thread.interrupt()
method = private void java.lang.Thread.exit()
method = void java.lang.Thread.dispatchUncaughtException(java.lang.Throwable)
method = private static java.lang.ClassLoader java.lang.Thread.contextClassLoader(java.lang.Thread)
method = public java.lang.String java.lang.Thread.toString()
method = protected java.lang.Object java.lang.Thread.clone() throws java.lang.CloneNotSupportedException
method = static native java.lang.Thread java.lang.Thread.currentCarrierThread()
method = public static native java.lang.Thread java.lang.Thread.currentThread()
method = static native java.lang.Object[] java.lang.Thread.scopedValueCache()
method = static native void java.lang.Thread.setScopedValueCache(java.lang.Object[])
method = static native java.lang.Object java.lang.Thread.findScopedValueBindings()
method = native void java.lang.Thread.setCurrentThread(java.lang.Thread)
method = public static void java.lang.Thread.onSpinWait()
method = static native void java.lang.Thread.ensureMaterializedForStackWalk(java.lang.Object)
method = private static native java.lang.StackTraceElement[][] java.lang.Thread.dumpThreads(java.lang.Thread[])
method = public final boolean java.lang.Thread.isVirtual()
method = boolean java.lang.Thread.getAndClearInterrupt()
method = public final void java.lang.Thread.join(long) throws java.lang.InterruptedException
method = public final void java.lang.Thread.join(long,int) throws java.lang.InterruptedException
method = public final void java.lang.Thread.join() throws java.lang.InterruptedException
method = public final boolean java.lang.Thread.join(java.time.Duration) throws java.lang.InterruptedException
method = private static native void java.lang.Thread.registerNatives()
method = private static java.lang.String java.lang.Thread.checkName(java.lang.String)
method = public void java.lang.Thread.setContextClassLoader(java.lang.ClassLoader)
method = public final java.lang.ThreadGroup java.lang.Thread.getThreadGroup()
method = public final void java.lang.Thread.checkAccess()
method = public static void java.lang.Thread.dumpStack()
method = public final void java.lang.Thread.setPriority(int)
method = public final void java.lang.Thread.setDaemon(boolean)
method = public void java.lang.Thread.start()
method = void java.lang.Thread.start(jdk.internal.vm.ThreadContainer)
method = static java.lang.Object java.lang.Thread.scopedValueBindings()
method = private static native void java.lang.Thread.yield0()
method = private static jdk.internal.event.ThreadSleepEvent java.lang.Thread.beforeSleep(long)
method = private static native void java.lang.Thread.sleep0(long) throws java.lang.InterruptedException
method = private static void java.lang.Thread.afterSleep(jdk.internal.event.ThreadSleepEvent)
method = private static boolean java.lang.Thread.isCCLOverridden(java.lang.Class)
method = public java.lang.ClassLoader java.lang.Thread.getContextClassLoader()
method = public final int java.lang.Thread.getPriority()
method = public final boolean java.lang.Thread.isDaemon()
method = static java.lang.String java.lang.Thread.genThreadName()
method = private native void java.lang.Thread.start0()
method = void java.lang.Thread.setThreadContainer(jdk.internal.vm.ThreadContainer)
method = void java.lang.Thread.inheritScopedValueBindings(jdk.internal.vm.ThreadContainer)
method = void java.lang.Thread.uncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler)
method = jdk.internal.vm.StackableScope java.lang.Thread.headStackableScopes()
method = jdk.internal.vm.ThreadContainer java.lang.Thread.threadContainer()
method = void java.lang.Thread.clearReferences()
method = public static boolean java.lang.Thread.interrupted()
method = private native void java.lang.Thread.interrupt0()
method = private static native void java.lang.Thread.clearInterruptEvent()
method = boolean java.lang.Thread.alive()
method = private native void java.lang.Thread.setPriority0(int)
method = private native void java.lang.Thread.setNativeName(java.lang.String)
method = boolean java.lang.Thread.isTerminated()
method = static java.lang.ThreadGroup java.lang.Thread.virtualThreadGroup()
method = public static int java.lang.Thread.activeCount()
method = public static int java.lang.Thread.enumerate(java.lang.Thread[])
method = public final boolean java.lang.Thread.isAlive()
method = java.lang.Thread$State java.lang.Thread.threadState()
method = public final long java.lang.Thread.threadId()
method = java.lang.StackTraceElement[] java.lang.Thread.asyncGetStackTrace()
method = private native java.lang.Object java.lang.Thread.getStackTrace0()
method = private static native java.lang.Thread[] java.lang.Thread.getThreads()
method = public static void java.lang.Thread.setDefaultUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler)
method = public java.lang.Thread$UncaughtExceptionHandler java.lang.Thread.getUncaughtExceptionHandler()
method = static void java.lang.Thread.setScopedValueBindings(java.lang.Object)
method = static void java.lang.Thread.blockedOn(sun.nio.ch.Interruptible)
method = jdk.internal.vm.Continuation java.lang.Thread.getContinuation()
method = void java.lang.Thread.setContinuation(jdk.internal.vm.Continuation)
method = public static void java.lang.Thread.yield()
method = public static void java.lang.Thread.sleep(long,int) throws java.lang.InterruptedException
method = public static void java.lang.Thread.sleep(java.time.Duration) throws java.lang.InterruptedException
method = public static void java.lang.Thread.sleep(long) throws java.lang.InterruptedException
method = public static java.lang.Thread$Builder$OfPlatform java.lang.Thread.ofPlatform()
method = public static java.lang.Thread$Builder$OfVirtual java.lang.Thread.ofVirtual()
method = public static java.lang.Thread java.lang.Thread.startVirtualThread(java.lang.Runnable)
method = public final void java.lang.Thread.stop()
method = public boolean java.lang.Thread.isInterrupted()
method = final void java.lang.Thread.setInterrupt()
method = final void java.lang.Thread.clearInterrupt()
method = public final void java.lang.Thread.suspend()
method = public final void java.lang.Thread.resume()
method = public final synchronized void java.lang.Thread.setName(java.lang.String)
method = public int java.lang.Thread.countStackFrames()
method = public static native boolean java.lang.Thread.holdsLock(java.lang.Object)
method = public static java.util.Map java.lang.Thread.getAllStackTraces()
method = private static boolean java.lang.Thread.auditSubclass(java.lang.Class)
method = static java.lang.Thread[] java.lang.Thread.getAllThreads()
method = public long java.lang.Thread.getId()
method = public java.lang.Thread$State java.lang.Thread.getState()
method = public static java.lang.Thread$UncaughtExceptionHandler java.lang.Thread.getDefaultUncaughtExceptionHandler()
method = public void java.lang.Thread.setUncaughtExceptionHandler(java.lang.Thread$UncaughtExceptionHandler)
method = static void java.lang.Thread.setHeadStackableScope(jdk.internal.vm.StackableScope)
method = private static native long java.lang.Thread.getNextThreadIdOffset()
java_lang_class.htm
Advertisements