CodesJava

Easy learning with example program codes

Java reflection get all public methods


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.

The getMethods() method is used to get the array of public methods of the Class including public methods of its parent classes and super interfaces.

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;
 
import java.util.Arrays;
 
public class ReflectionTest {
	public static void main(String args[]){
		try {
			Class c=Class.forName("com.codesjava.Rectangle");  
			System.out.println(Arrays.toString(c.getMethods()));
		} catch (Exception e) {
			e.printStackTrace();
		}  
	}
}

Output

[public void com.codesjava.Rectangle.drawShape(java.lang.String), 
public final void java.lang.Object.wait() throws java.lang.InterruptedException, 
public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException,
public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException, 
public boolean java.lang.Object.equals(java.lang.Object), public java.lang.String java.lang.Object.toString(),
public native int java.lang.Object.hashCode(),
public final native java.lang.Class java.lang.Object.getClass(),
public final native void java.lang.Object.notify(),
public final native void java.lang.Object.notifyAll()]
Sign Up/ Sign In
Ask a Question


Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki