要獲取Java編譯后的內容,可以使用Java反射機制來獲取類的信息和方法的信息。下面是一個獲取類信息和方法信息的示例代碼:
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) throws ClassNotFoundException {
// 獲取類的信息
Class<?> clazz = Class.forName("com.example.MyClass");
System.out.println("類名:" + clazz.getName());
System.out.println("包名:" + clazz.getPackage().getName());
System.out.println("父類名:" + clazz.getSuperclass().getName());
// 獲取方法信息
Method[] methods = clazz.getDeclaredMethods();
for (Method method : methods) {
System.out.println("方法名:" + method.getName());
System.out.println("參數個數:" + method.getParameterCount());
System.out.println("返回類型:" + method.getReturnType().getName());
}
}
}
上述代碼中,首先使用Class.forName()
方法獲取類的Class對象,然后使用getName()
方法獲取類的名稱,getPackage().getName()
方法獲取類的包名,getSuperclass().getName()
方法獲取類的父類名。接下來使用getDeclaredMethods()
方法獲取類的所有方法,然后通過遍歷方法數組,分別使用getName()
方法獲取方法名,getParameterCount()
方法獲取方法參數個數,getReturnType().getName()
方法獲取方法的返回類型。