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.w3spoint; public interface Shape { public void drawShape(String color); } |
Rectangle.java
package com.w3spoint; 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.w3spoint; public class ReflectionTest { public static void main(String args[]){ try { //Using forName() method Class c=Class.forName("com.w3spoint.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.w3spoint.Rectangle com.w3spoint.Rectangle com.w3spoint.Rectangle |