016如何获取Class?
1)Class clazz=class.forName("包名.类名")
2)Class clazz=类名.class;
3)Class clazz=对象.getClass();
017反射中常用的方法?
(1)获取类的权限修饰符--------->int result=getModifiers();
(2)获取名字------------>string name=clazz.getName();
(3)获取包名------------>Packge p=clazz.getPackge();
(4)寻找clazz中无参数构造方法:Clazz.getConstructor([String.class]);
执行构造方法创建对象:Con.newInstance([参数]);
(5)Field c=cls.getFields():获得某个类的所有的公共(public)的字段,包括父类中的字段。
Field c=cls.getDeclaredFields():获得某个类的所有声明的字段,即包括public、private和 proteced,但是不包括父类的声明字段。
018反射得利与弊?
(1)反射得经典用法就是在xml或者properties配置文件中,然后在java类里面区解析这些内容,得到一个字符串,然后通过反射机制,通过这些字符串获得某个类得class实例,这样的话就可以动态的配置一些东西,而不需要每次都重新去new,要改的话也是直接改配置文件,代码维护起来方便很多。