This java code example shows how to invoke methods on an object at runtime without knowing the names of them in advance. This is possible using the reflection API. What we do is to get an instance of the class object of the particular class we want to call methods on and by using that instance we can get the array of Method objects by calling getDeclaredMethods(). We dont actually call the methods of the class instance, instead we have to create an object that we call the methods on by sending it as an argument to the invoke() method. In this example we use an inner class named "Computer" but of course it could be any object, not necessarily an instance of an inner class. The names of the methods invoked are printed out along with the values that they return.
Code Examples For Java Reflection API
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;
public class Main { public void invokeMethodsUsingReflection() {
Class computerClass = Computer.class; Method[] methods = computerClass.getDeclaredMethods(); Computer computer = new Computer(); for (Method method : methods) { Object result; try { result = method.invoke(computer, new Object[0]); } catch (IllegalArgumentException ex) { ex.printStackTrace(); return; } catch (InvocationTargetException ex) { ex.printStackTrace(); return; } catch (IllegalAccessException ex) { ex.printStackTrace(); return; } System.out.println(method.getName() + ": " + result); }
public static void main(String[] args) { new Main().invokeMethodsUsingReflection(); } class Computer { private String brand = "DELL"; private String type = "Laptop"; private int harddiskSize_GB = 300; private boolean AntiVirusInstalled = true;
public String getBrand() { return brand; }
public String getType() { return type; }
public int getHarddiskSize_GB() { return harddiskSize_GB; }
public boolean isAntiVirusInstalled() { return AntiVirusInstalled; } } }
If you need any urgent assistance on Java_reflection_API_Tutorial, kindly email your requirement to us at : info@javagenious.com or Contact-an-Expert. Our experts will try their best to solve your problem.
Keyword Tags: Java_reflection_API_Tutorial tutorial,Java_reflection_API_Tutorial in java,Concepts of Java_reflection_API_Tutorial,Java,J2EE,Interview Questions,Java_reflection_API_Tutorial Examples
Most programming languages compile source code directly into machine code, suitable for execution on a particular microprocessor architecture. read more
|