Free Data Structures and Algorithms Course









Subscribe below and get all best seller courses for free !!!










OR



Subscribe to all free courses

How to get field, set and get its value by using Field class in Java Reflection API ?

Program to demonstrate working of Field class in Java Reflection API for getting field, setting and getting its value

package com.hubberspot.example;

import java.lang.reflect.Field;

class Customer {
 public String firstname;
 public String lastname;
 public String email;
 public static int counter;
}

public class FieldDemo {
 
   public static void main(String[] args) {
  
 // Create a test object. We can create
 // and apply reflection on any class 
 // we want without knowing which fields
 // it has. We are taking Customer here.
 Customer customer =  new Customer();
  
 // Getting Class associated with Customer
 Class demo = customer.getClass();
  
 try {   
  
 // Using Field class we can get field of any
 // class we want. Here we are getting field
 // firstname by calling getField method of the
 // Class associated with Customer 
  Field field = demo.getField("firstname");
   
 // After getting the field we are assigning it
 // with a value by using set method of Field
 // First parameter is the Object of Customer and
 // second parameter is the value we want to set 
  field.set(customer, "Jonty");
  
 // After assignment we are getting the value back
 // by using get method of Field and passing the 
 // Object of Customer for which we want the value 
  Object result = field.get(customer);
  
 // printing it to console
  System.out.println("Customer First Name is : "
        + result);
   
 // similarly doing for lastname and email 
  field = demo.getField("lastname");
  field.set(customer, "Magicman");
                result = field.get(customer);
  System.out.println("Customer Last Name is : "
        + result);
   
  field = demo.getField("email");
  field.set(customer, "Jonty@Magic.com");
  result = field.get(customer);
         System.out.println("Customer Email is : "
        + result);
     
  field = demo.getField("counter");
 // while working with static we are not passing
 // Object as Customer instance but we are 
 // passing it a null because its static field 
  field.set(null, 1);
  result = field.get(null);
  System.out.println("Customer Counter is : "
        + result);
  
 } catch (SecurityException e) {
   
  e.printStackTrace();
  
 } catch (NoSuchFieldException e) {
   
  e.printStackTrace();
  
 } catch (IllegalArgumentException e) {
   
  e.printStackTrace();
  
 } catch (IllegalAccessException e) {
   
  e.printStackTrace();
  
 }

   }

}




Output of the program :



 
© 2021 Learn Java by Examples Template by Hubberspot