三种方法获取Class
Person person = new Person("张三",18);
Class c = Person.class;
Class c2 = person.getClass();
Class c3 = Class.forName("com.qingke.p2.Person");
三种方法构造Class
c.newInstance();
c.getConstructors()[0].newInstance();
c.getConstructors()[1].newInstance("李四",25);
调用get和set
c.getDeclaredMethod("getName").invoke(person);
c.getDeclaredMethod("setName",String.class).invoke(person,"王五");
修改属性
Field f=c.getDeclaredField("age");
f.setAccessible(true);
f.set(person,99);
自定义方法
for(Method m:c.getDeclaredMethods()){
m.setAccessible(true);
System.out.println(m.getName());
}
所有公开方法
for(Method m:c.getMethods()){
m.setAccessible(true);
System.out.println(m.getName());
}
父类信息
c.getSuperclass()
接口信息
c.getInterfaces()
网友评论