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