Java Class getDeclaringClass() Method



Description

The Java Class getDeclaringClass() method returns the Class object representing the class in which it was declared, if the class or interface represented by this Class object is a member of another class.

This method returns null if this class or interface is not a member of any other class. If this Class object represents an array class, a primitive type, or void,then this method returns null.

Declaration

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

public Class<?> getDeclaringClass()

Parameters

NA

Return Value

This method returns the declaring class for this class.

Exception

NA

Getting Declared Class of a Class Example

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

package com.tutorialspoint;

import java.lang.reflect.Method;

public class ClassDemo {

   public static void main(String[] args) {
           
      ClassDemo c = new ClassDemo();
      Class cls = c.getClass();
       
      Method[] m = cls.getMethods();
      for(int i = 0; i < m.length; i++) {
         
         // returns te declaring class
         Class dec = m[i].getDeclaringClass();
         
         // displays all methods
         System.out.println("Method = " + m[i].toString());
         System.out.println(" Declaring class: " + dec.toString());
      }
   }

   public ClassDemo() {
      // no argument constructor
   }

   public ClassDemo(long l, int i) {
      this.l = l;
      this.i = i;
   }

   long l = 77688;
   int i = 3;
}

Output

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

Method = public static void com.tutorialspoint.ClassDemo.main(java.lang.String[])
 Declaring class: class com.tutorialspoint.ClassDemo
Method = public boolean java.lang.Object.equals(java.lang.Object)
 Declaring class: class java.lang.Object
Method = public java.lang.String java.lang.Object.toString()
 Declaring class: class java.lang.Object
Method = public native int java.lang.Object.hashCode()
 Declaring class: class java.lang.Object
Method = public final native java.lang.Class java.lang.Object.getClass()
 Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notify()
 Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notifyAll()
 Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait(long) throws java.lang.InterruptedException
 Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
 Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait() throws java.lang.InterruptedException
 Declaring class: class java.lang.Object

Getting Declared Class of Long Class Example

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

package com.tutorialspoint;

import java.lang.reflect.Method;

public class ClassDemo {

   public static void main(String[] args) {

      // class object associated with class Long
      Class cls = Long.class;

      Method[] m = cls.getMethods();
      for(int i = 0; i < m.length; i++) {
         
         // returns te declaring class
         Class dec = m[i].getDeclaringClass();
         
         // displays all methods
         System.out.println("Method = " + m[i].toString());
         System.out.println(" Declaring class: " + dec.toString());
      }
   }
} 

Output

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

Method = public static int java.lang.Long.numberOfLeadingZeros(long)
Declaring class: class java.lang.Long
Method = public static int java.lang.Long.numberOfTrailingZeros(long)
Declaring class: class java.lang.Long
Method = public static int java.lang.Long.bitCount(long)
Declaring class: class java.lang.Long
Method = public boolean java.lang.Long.equals(java.lang.Object)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toString(long,int)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toString(long)
Declaring class: class java.lang.Long
Method = public java.lang.String java.lang.Long.toString()
Declaring class: class java.lang.Long
Method = public int java.lang.Long.hashCode()
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.reverseBytes(long)
Declaring class: class java.lang.Long
Method = public int java.lang.Long.compareTo(java.lang.Long)
Declaring class: class java.lang.Long
Method = public int java.lang.Long.compareTo(java.lang.Object)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.getLong(java.lang.String)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.getLong(java.lang.String,long)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.getLong(java.lang.String,java.lang.Long)
Declaring class: class java.lang.Long
Method = public byte java.lang.Long.byteValue()
Declaring class: class java.lang.Long
Method = public short java.lang.Long.shortValue()
Declaring class: class java.lang.Long
Method = public int java.lang.Long.intValue()
Declaring class: class java.lang.Long
Method = public long java.lang.Long.longValue()
Declaring class: class java.lang.Long
Method = public float java.lang.Long.floatValue()
Declaring class: class java.lang.Long
Method = public double java.lang.Long.doubleValue()
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.valueOf(java.lang.String,int) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.valueOf(java.lang.String) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.valueOf(long)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toHexString(long)
Declaring class: class java.lang.Long
Method = public static java.lang.Long java.lang.Long.decode(java.lang.String) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.reverse(long)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toOctalString(long)
Declaring class: class java.lang.Long
Method = public static java.lang.String java.lang.Long.toBinaryString(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.highestOneBit(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.lowestOneBit(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.rotateLeft(long,int)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.rotateRight(long,int)
Declaring class: class java.lang.Long
Method = public static int java.lang.Long.signum(long)
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.parseLong(java.lang.String,int) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public static long java.lang.Long.parseLong(java.lang.String) throws java.lang.NumberFormatException
Declaring class: class java.lang.Long
Method = public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException
Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait() throws java.lang.InterruptedException
Declaring class: class java.lang.Object
Method = public final native java.lang.Class java.lang.Object.getClass()
Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notify()
Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notifyAll()
Declaring class: class java.lang.Object

Getting Declared Class of ArrayList Class Example

The following example shows the usage of java.lang.Class.getDeclaringClass() method. In this program, we've retrived class of ArrayList class. Using getDeclaringClass(), we've retrieved required class 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 object associated with class ArrayList
      Class cls = ArrayList.class;

      Method[] m = cls.getMethods();
      for(int i = 0; i < m.length; i++) {
         
         // returns te declaring class
         Class dec = m[i].getDeclaringClass();
         
         // displays all methods
         System.out.println("Method = " + m[i].toString());
         System.out.println(" Declaring class: " + dec.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)
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.remove(int)
 Declaring class: class java.util.ArrayList
Method = public int java.util.ArrayList.size()
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.get(int)
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.equals(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public int java.util.ArrayList.hashCode()
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.clone()
 Declaring class: class java.util.ArrayList
Method = public int java.util.ArrayList.indexOf(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.clear()
 Declaring class: class java.util.ArrayList
Method = public int java.util.ArrayList.lastIndexOf(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.isEmpty()
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.replaceAll(java.util.function.UnaryOperator)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.add(int,java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.add(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public java.util.List java.util.ArrayList.subList(int,int)
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object[] java.util.ArrayList.toArray()
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object[] java.util.ArrayList.toArray(java.lang.Object[])
 Declaring class: class java.util.ArrayList
Method = public java.util.Iterator java.util.ArrayList.iterator()
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.contains(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public java.util.Spliterator java.util.ArrayList.spliterator()
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.addAll(int,java.util.Collection)
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.addAll(java.util.Collection)
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.set(int,java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.forEach(java.util.function.Consumer)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.sort(java.util.Comparator)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.ensureCapacity(int)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.trimToSize()
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.removeIf(java.util.function.Predicate)
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.getFirst()
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.getLast()
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.addFirst(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public void java.util.ArrayList.addLast(java.lang.Object)
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.removeFirst()
 Declaring class: class java.util.ArrayList
Method = public java.lang.Object java.util.ArrayList.removeLast()
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.removeAll(java.util.Collection)
 Declaring class: class java.util.ArrayList
Method = public boolean java.util.ArrayList.retainAll(java.util.Collection)
 Declaring class: class java.util.ArrayList
Method = public java.util.ListIterator java.util.ArrayList.listIterator(int)
 Declaring class: class java.util.ArrayList
Method = public java.util.ListIterator java.util.ArrayList.listIterator()
 Declaring class: class java.util.ArrayList
Method = public java.lang.String java.util.AbstractCollection.toString()
 Declaring class: class java.util.AbstractCollection
Method = public boolean java.util.AbstractCollection.containsAll(java.util.Collection)
 Declaring class: class java.util.AbstractCollection
Method = public final native java.lang.Class java.lang.Object.getClass()
 Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notify()
 Declaring class: class java.lang.Object
Method = public final native void java.lang.Object.notifyAll()
 Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait(long) throws java.lang.InterruptedException
 Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException
 Declaring class: class java.lang.Object
Method = public final void java.lang.Object.wait() throws java.lang.InterruptedException
 Declaring class: class java.lang.Object
Method = public default java.lang.Object[] java.util.Collection.toArray(java.util.function.IntFunction)
 Declaring class: interface java.util.Collection
Method = public default java.util.stream.Stream java.util.Collection.stream()
 Declaring class: interface java.util.Collection
Method = public default java.util.stream.Stream java.util.Collection.parallelStream()
 Declaring class: interface java.util.Collection
Method = public default java.util.SequencedCollection java.util.List.reversed()
 Declaring class: interface java.util.List
Method = public default java.util.List java.util.List.reversed()
 Declaring class: interface java.util.List
java_lang_class.htm
Advertisements