关于反射

JAVA 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为 java 语言的反射机制。
关于反射的四种方式:

public void test() throws Exception {
		/** 第一种反射方式 */
		Class clazz1 = new Student().getClass();
 
		/** 第二种反射方式 */
		Class clazz2 = Student.class;
 
		/** 第三种反射方式 */
		// 先声明 xxx 类所在包的完整名
		String className = "com.test.Student";
		Class clazz3 = Class.forName(className);
		
		/** 第四种反射方式 */
		Class clazz4 = this.getClass().getClassLoader().loadClass(className);
	}

获取类中的变量,并进行赋值:

@Test
	public void test() throws Exception {
		Class clazz = Student.class;
		Student student = (Student) clazz.newInstance();
		/** 声明为 public 类型的变量可以这样获取 **/
		Field field1 = clazz.getField("stuNo");
		field1.set(student, "01");
		System.out.println(student);
		/** 其他类型变量只能通过如下获取 **/
		Field field2 = clazz.getDeclaredField("stuName");
		field2.setAccessible(true);
		field2.set(student, "张三");
		System.out.println(student);
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值