testreflect.java

来自「《Java核心技术应用开发》电子工业出版社书籍源代码」· Java 代码 · 共 40 行

JAVA
40
字号
package sample;
import java.lang.reflect.*;

public class TestReflect {
  static void invoke(String aClass, String aMethod, Class[] params, Object[] args) {
    try {
      Class c = Class.forName(aClass);
      Method m = c.getDeclaredMethod(aMethod, params);      
      Object i = c.newInstance();
      Object r = m.invoke(i, args);
      } 
    catch (Exception e) {
      e.printStackTrace();
      } 
    }

  public static void main(String[] args) {
    invoke("sample.Class1", "say", new Class[] {String.class, String.class}, 
           new Object[] 
             {new String("Hello"), new String("World")});
             
    invoke("sample.Class1", "say2", new Class[]{String.class, Integer.class},
           new Object[]
             {new String("Lixin"), new Integer(3)});         
    }
}

class Class1 {
  public void say( String s1, String s2) {
    System.out.println(s1 + " " + s2);
  }
  
  public void say2(String s1, Integer i){
    int j = i.intValue();
    for(int k=0; k<j; k++)
    System.out.println(s1);
  }  
        
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?