CodesJava

Easy learning with example program codes

Java reflection get class object


The java.lang.Class provides the methods to examine the runtime properties of the object including its members and type information. For every type of object, the JVM instantiates an immutable instance of java.lang.Class. Using reflection, we can get the metadata of a class at run time.

We can get class object in java by using following approaches:

  • forName() method of Class class
  • getClass() method of Object class
  • the .class syntax

 

Note: When using forName() method we must pass the fully qualified class name.

Example

Shape.java

package com.codesjava;
 
public interface Shape {
	public void drawShape(String color);
}

Rectangle.java

package com.codesjava;
 
public class Rectangle implements Shape{
	private int defaultLength = 10;
	private int defaultWidth = 5;
 
	@Override
	public void drawShape(String color) {
		System.out.println("Rectangle create with following properties: ");
		System.out.println("Length: " + defaultLength);
		System.out.println("Width: " + defaultWidth);
	}
 
}

ReflectionTest.java

package com.codesjava;
 
public class ReflectionTest {
	public static void main(String args[]){
		try {
			//Using forName() method
			Class c=Class.forName("com.codesjava.Rectangle");  
			System.out.println(c.getName());
 
			//Using getClass() method of Object class
			Rectangle object = new Rectangle();
			c= object.getClass();
			System.out.println(c.getName());
 
			//.class syntax
			c = Rectangle.class;
			System.out.println(c.getName());
		} catch (Exception e) {
			e.printStackTrace();
		}  
	}
}

Output

com.codesjava.Rectangle
com.codesjava.Rectangle
com.codesjava.Rectangle


Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap