reflect.java

来自「基于LWVCL开发的库」· Java 代码 · 共 58 行

JAVA
58
字号
import java.lang.reflect.*;public class Reflect {  public static void main(String[] argv)  {    String name;    try {      name = argv[0];    }    catch (ArrayIndexOutOfBoundsException _) {      name = "java.lang.Runnable";    }    try {      Class cls = Class.forName(name);      boolean isfinal = false;      // In a final class, methods legally may or may not be marked final.      // To produce consistent output, remove the "final" keywords      if (Modifier.isFinal(cls.getModifiers())) {	isfinal = true;      }      Method[] meth = cls.getMethods();      for (int i = 0; i < meth.length; i++) {        System.out.println("Method: "	  + (isfinal ? stripFinal(meth[i].toString()) : meth[i].toString()));      }      Constructor[] cnst = cls.getConstructors();      for (int i = 0; i < cnst.length; i++) {        System.out.println("Constructor: " + cnst[i]);      }      Field[] fld = cls.getFields();      for (int i = 0; i < fld.length; i++) {        System.out.println("Field: " + fld[i]);      }    }    catch (ClassNotFoundException _) {      System.out.println("Class not found");    }  }  private static String stripFinal(String s) {    int i = s.indexOf("final ");    if (i == -1) {      return(s);    }    return s.substring(0, i) + s.substring(i + 6);  }}// Sort output/* Expected Output:Method: public abstract void java.lang.Runnable.run()*/

⌨️ 快捷键说明

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