〖反射机制〗根据Class类对象获取Field属性对象
获取,类的所有(public修饰的)属性
package test;
import java.lang.reflect.Field;
public class Test {
public String a; / 属性a
protected String b; / 属性b
String c; / 属性c
private String d; / 属性d
public static void main(String[] args) throws Exception {
/ 获取类对象
Class classTest = Class.forName("test.Test");
/ 1.获取所有public修饰的属性
Field[] fields1 = classTest.getFields();
for (Field field : fields1) {
System.out.println(field);
}
System.out.println("----------------------------------------");
/ 2.获取指定名称的public修饰的属性
Field a = classTest.getField("a");
System.out.println(a);
}
}
运行结果:
获取,类的所有属性
package test;
import java.lang.reflect.Field;
public class Test {
public String a; / 属性a
protected String b; / 属性b
String c; / 属性c
private String d; / 属性d
public static void main(String[] args) throws Exception {
/ 获取类对象
Class classTest = Class.forName("test.Test");
/ 3.获取所有的属性
Field[] fields2 = classTest.getDeclaredFields();
for (Field field : fields2) {
System.out.println(field);
}
System.out.println("----------------------------------------");
/ 4.获取指定名称的属性
Field c = classTest.getDeclaredField("c");
System.out.println(c);
}
}
我寻见一片海 碧蓝且耀着光
大片船只航行其上 都向着远方
Shared by Foriver_江河