java利用反射動態加載方法
阿新 • • 發佈:2019-03-07
art imp 利用反射 eth public lan reflect returns ref
@參考文章
根據特定字符串加載相應的方法,有人用if else,有人用switch。參數少了或情況少了還好,很多方法真要命,不要緊,java反射拯救你
import java.lang.reflect.Method; public class Test { public static void main(String[] args) throws Exception { Test t=new Test(); Class<? extends Test> c = t.getClass();//Returns the runtime class of this Object.即返回類Object obj = c.newInstance();//Returns the runtime class of this Object即返回類對象 for (int i = 1; i <= 5; i++) { //Returns a Method object that reflects the specified declared method of the class or interface represented by this Class object。 //即返回根據上述特定類或接口中的指定方法Method m = c.getDeclaredMethod("method"+i); m.invoke(obj); } } @SuppressWarnings("unused") private static void method1() { System.out.println("方法1"); } @SuppressWarnings("unused") private static void method2() { System.out.println("方法2"); } @SuppressWarnings("unused") private static void method3() { System.out.println("方法3"); } @SuppressWarnings("unused") private static void method4() { System.out.println("方法4"); } @SuppressWarnings("unused") private static void method5() { System.out.println("方法5"); } }
結果如下:
方法1
方法2
方法3
方法4
方法5
java利用反射動態加載方法