java 反射

49 阅读1分钟

使用

Class<?> c=nulll;
c=class.forName("包名.类名");
obj=(Object)c.newInstance();//创建实例
for(Method m:People.class.getDeclaredMethods()) {
				//将此对象的姓名设置为“张三丰”,性别设置为“男”,所属班级设置为“外包”
				String name=m.getName();
				m.setAccessible(true);
				if(name=="setName") {
					m.invoke(p, "张三丰");
				}else if(name=="setSex") {
					m.invoke(p,"男");
				}else if(name=="setBanji") {
					m.invoke(p,"外包");
				}			
			}

getMethods()//获取所有可见的方法,包括继承的方法 getMethod(方法名,参数类型列表) getDeclaredMethods()//获取本类定义的的方法,包括私有,不包括继承的方法 getDeclaredMethod(方法名,int.class,String.class)