1. 程式人生 > >java利用反射動態加載方法

java利用反射動態加載方法

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利用反射動態加載方法