1.反射是什么?
反射就是通过class对象获取类的字段,方法等信息。
2.反射的常用方法:
1)Class classzz=Person.class;//第一种,如果不需要赋值采用这种
2)Person p = new Person();//第二种,如果需要给字段赋值最好采用这种
Class classzz = p.getClass();
3)Class classzz = Class.forName("com.wy.test.Person");//第三种,知道包名采用这种
3.应用场景:自动生成sql语句
public class BeanUtil {
//查询语句的生成
public static String getSelectSql(Object obj) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException{
Class<? extends Object> classzz=obj.getClass();//通过反射获取这个类
String tableName=classzz.getSimpleName();//这个类的类名 就是表名
StringBuffer sbsql=new StringBuffer();//创建一个拼接语句