我想编写一个java程序来打印类的所有(公共或私有)参数及其类型.我想我必须使用反射,但我是java反射的noob.
作为一个例子,我需要我的程序在下面的类上运行并导致以下输出:
class a{
public int b;
public int c;
private String s;
}
Run Code Online (Sandbox Code Playgroud)
输出:
b: int
c: int
s: St
Run Code Online (Sandbox Code Playgroud)
最后我的问题是如何获取类及其类型的参数列表.
我建议你从Class类开始探索javadoc :
该类的实例
Class表示正在运行的Java应用程序中的类和接口.
值得注意的是该方法getDeclaredFields(),它返回一个Field对象数组,表示该类声明的字段.
还要注意获取Class对象的方法:
Class<MyClass> c = MyClass.class; //statically
MyClass mc = new MyClass();
Class<? extends MyClass> c2 = mc.getClass(); //dynamically
Run Code Online (Sandbox Code Playgroud)