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


  • NA

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 ClassDemo.l
Field = int ClassDemo.i