面试反射相关知识点及反射应用场景之一

反射的概述

要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运行时识别对象和类的信息,主要有2种方式:一种是传统的RTTI,它假定我们在编译时已经知道了所有的类型信息;另一种是反射机制,它允许我们在运行时发现和使用类的信息。JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

反射的应用场景:

通过反射来给对象赋值,把Map或request里面的对象取出来赋给对象,就省下10来个set或get了

   @Test
public void test1() throws Exception{
	        
		   	User p = new User();
	        Method methods[] = p.getClass().getMethods();
	        Map paramap=new HashMap();
	        paramap.put("Nickname", "123");
	        for(int i=0;i

 

当然在写的时候可以直接用标签@Valid,也不用用这个,如果两个bean相互赋值的话也可以直接用

BeanUtils.copyProperties(publishCube, cube);

 

总体还是感觉反射没啥子卵用,但是以前用反射做跟踪调试时用到过,导出文件过程中,用getclass确定这个对象是execle还是xml过就当这个吧

 

你可能感兴趣的:(web开发)