java 反射获取字段值_java – 使用反射获取字段值

时间:2025-01-26 12:49:15

像这样……

import ;

public class Test {

public static void main(String... args) {

try {

Foobar foobar = new Foobar("Peter");

("Name: " + ());

Class> clazz = ("");

("Class: " + clazz);

Field field = ("name");

(true);

String value = (String) (foobar);

("Value: " + value);

} catch (Exception e) {

();

}

}

}

class Foobar {

private final String name;

public Foobar(String name) {

= name;

}

public String getName() {

return ;

}

}

或者,您可以使用类的newInstance方法在运行时获取对象的实例.您仍然需要先设置该实例变量,否则它将没有任何值.

例如.

Class> clazz = ("");

Object object = ();

或者,它的构造函数中有两个参数,例如String和int ……

Class> clazz = ("");

Constructor> constructor = (, );

Object obj = ("Meaning Of Life", 42);

或者您可以使用()在运行时查询其构造函数

NB我故意省略了在这里创建的对象的转换为预期的类型,因为这会破坏反射点,因为如果你这样做,你已经知道了类,这将否定反射的必要性.第一名.