Java.lang.Class.getDeclaredFields() Method


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


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

public Field[] getDeclaredFields() throws SecurityException



Return Value

This method returns the array of Field objects representing all the declared fields of this class.


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


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

package com.tutorialspoint;

import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {

      try {            
         ClassDemo c = new ClassDemo();
         Class cls = c.getClass();
         // returns the array of Field objects
         Field[] fields = cls.getDeclaredFields();
         for(int i = 0; i < fields.length; i++) {
            System.out.println("Field = " + fields[i].toString());
      } catch(Exception e) {

   public ClassDemo() {
      // no argument constructor

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

   long l = 77688;
   int i = 3;

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

Field = long com.tutorialspoint.ClassDemo.l
Field = int com.tutorialspoint.ClassDemo.i