Pin It

Using Reflection API for getting fields name and type of objects in Java

Program to demonstrate Usage of Reflection API for getting fields name and type in Java

package com.hubberspot.example;

import java.lang.reflect.Field;

class Employee {
 public String firstname;
 protected String lastname;
 private String email;
 static int counter;
}

public class EmployeeTest {

   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 Employee here. 
 Employee employee = new Employee();

 // Getting Class associated with Employee
 Class employeeClass = employee.getClass();  

 System.out.println("-----------------------------------");

 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 Employee with public specifier 
 Field singleField = employeeClass.getField("firstname");

 // getName returns the name of the field
 System.out.println("Field name = " + singleField.getName());

 // getType().getName() returns the type of the field
 System.out.println("Field type = " + singleField.getType().getName());

 System.out.println("-----------------------------------");

 // getDeclaredFields methods returns array of fields which
 // involve all fields irrespective of access specifier such as
 // public, private, protected and default
 Field[] declaredFields = employeeClass.getDeclaredFields();
 System.out.println("Number of fields = " + declaredFields.length);

 for (Field field : declaredFields) {
           System.out.println("Field name = " + field.getName());
    System.out.println("Field type = " + field.getType().getName());   
 }

 System.out.println("-----------------------------------");

 // getFields methods returns array of fields which
 // involve fields only with access specifier as public
 Field[] fields = employeeClass.getFields();
 System.out.println("Number of fields = " + fields.length);

 for (Field field : fields) {
    System.out.println("Field name = " + field.getName());
    System.out.println("Field type = " + field.getType().getName());
 }

    } catch (SecurityException e) {

  e.printStackTrace();
    } catch (NoSuchFieldException e) {

  e.printStackTrace();
    }

  }

}




Output of the program :



Please Give Us Your 1 Minute In Sharing This Post!
SOCIALIZE IT →
FOLLOW US →
SHARE IT →
Related Posts Plugin for WordPress, Blogger...

Post your related queries below ...

comments powered by Disqus
Powered by Blogger.
 
© 2012 Learn Java by Examples Template by Hubber Spot