Java.lang.Class.getField() Method



The java.lang.Class.getField() returns a Field object that reflects the specified public member field of the class or interface represented by this Class object. The name parameter is a String specifying the simple name of the desired field.


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

public Field getField(String name) throws NoSuchFieldException, SecurityException


  • name -- This is the field name.

Return Value

This method returns the Field object of this class specified by name.


  • NoSuchFieldException -- If a field with the specified name is not found.

  • NullPointerException -- If name is null

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


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

package com.tutorialspoint;

import java.lang.reflect.*;

public class ClassDemo {

   public static void main(String[] args) {
     ClassDemo c = new ClassDemo();
     Class cls = c.getClass();
     System.out.println("Field =");

     try {
        // string field
        Field sField = cls.getField("string1");
        System.out.println("Public field found: " + sField.toString());
     catch(NoSuchFieldException e) {
   public ClassDemo() {
      // no argument constructor

   public ClassDemo(String string1) {       
      this.string1 = string1;
   public String string1 = "tutorialspoint";

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

Field =
Public field found: public java.lang.String ClassDemo.string1