Tuesday 31 October 2017

How to access the constructor parameters of a class using Java Reflection | Reflection in java


Click here to watch in Youtube : 
https://www.youtube.com/watch?v=bqzZ4jEFzWk&list=UUhwKlOVR041tngjerWxVccw

ReflectionDemo.java
import java.lang.reflect.Constructor;
import java.lang.reflect.Parameter;
import java.util.HashSet;

/**
 * 
 * We can read what parameters a given constructor can takes. 
 *
 */
public class ReflectionDemo
{
    public static void main(String[] args)
    {

        Class<HashSet> classObj = HashSet.class;

        /*
         * Returns:the array of Constructor objects representing the public
         * constructors of this class
         */

        Constructor[] constructorArray= classObj.getConstructors();

        for (Constructor constructor : constructorArray)
        {
            System.out.println("constructor = "+constructor);
            System.out.println("Parameter Count = "+constructor.getParameterCount());
            /*
             * Returns:an array of Parameter objects representing all the
             * parameters to the executable this object represents.
             */
            Parameter[] parameterArray = constructor.getParameters();
            for (Parameter parameter : parameterArray)
            {
                System.out.println("Parameter Type = "+parameter.getParameterizedType());
                System.out.println("Parameter Name = "+parameter.getName());
            }
            System.out.println("--------------------------------");
        }

    }

}
Output
constructor = public java.util.HashSet(int)
Parameter Count = 1
Parameter Type = int
Parameter Name = arg0
--------------------------------
constructor = public java.util.HashSet(int,float)
Parameter Count = 2
Parameter Type = int
Parameter Name = arg0
Parameter Type = float
Parameter Name = arg1
--------------------------------
constructor = public java.util.HashSet(java.util.Collection)
Parameter Count = 1
Parameter Type = java.util.Collection<? extends E>
Parameter Name = arg0
--------------------------------
constructor = public java.util.HashSet()
Parameter Count = 0
--------------------------------

Click the below link to download the code:
https://sites.google.com/site/ramj2eev1/home/javabasics/ReflectionDemo_cons_param.zip?attredirects=0&d=1

Github Link:
https://github.com/ramram43210/Java/tree/master/BasicJava/ReflectionDemo_cons_param

Bitbucket Link:
https://bitbucket.org/ramram43210/java/src/eca56e82732b6bdecf5c1f7d98c23f5bc231a672/BasicJava/ReflectionDemo_cons_param/?at=master

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • All JAVA EE Links
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • JAVA Tutorial
  • Kids Tutorial
  • No comments:

    Post a Comment