学习任务:

视频学习

动手测试反射静态变量

静态变量与成员变量的区别在于向它赋值及取值不需要指定具体 的对象,调用getxx和setxx方法时传入null即可。

测试代码如下:

//反射静态变量
	public static void test6() throws Exception{
		PbStudentVip pbStudentVip = new PbStudentVip(101L, "攀博", "1759102882@qq.com");
		Class class1 = pbStudentVip.getClass();
		Class superclass = class1.getSuperclass();
		Field selectionsField = superclass.getDeclaredField("selections");
		selectionsField.setAccessible(true);
		System.out.println(selectionsField);
		//赋值
		PbCourse[] courseListCourses = new PbCourse[] {new PbCourse(10L, "攀博课堂SpringCloud实战",50)};
		selectionsField.set(null, courseListCourses);
		//取值
		PbCourse[] courseListCourses2 = (PbCourse[]) selectionsField.get(null);
		for (int i = 0; i < courseListCourses2.length; i++) {
			System.out.println(courseListCourses2[i]);
		}
	}
提问-攀博课堂
我要提问 不会就问,有效沟通
关注公众号,加入微信群交流提问。 攀博课堂官方公众号
问答列表,查看本知识点所有问题