Java反射关键字
String classname="类名";
Class s=Class.forName(classname);
1,getModifers():返回修饰符(public,protect,private)
2,getSuperclass():得到父类
3:getInterfaces():得到所有接口
Class[] s =s.getInterfaces()
for(Class b:s){
system.out.print(b.getName)
}
4:getDeclaredFields()得到所有字段
Field[] s =s.getDeclaredFields()
for(Class b:s){
system.out.print(b.getName)
}
5:getDeclaredConstructors():得到所有构造函数
Constructor[] s =s.getDeclaredConstructors()
for(Class b:s){
system.out.print(b.getName)
}
6getDeclaredMetthods()得到所有方法
Method[] s =s.6getDeclaredMetthods()
for(Class b:s){
system.out.print(b.getName)
}
7newInstance()调用无参函数创建对象
String className="reflex.Plane";
Class aa=Class.forName(className);
Object object=aa.newInstance();
System.out.println(object);
调用有参构造函数
String classname="reflex.Ship";
Class aClass=Class.forName(classname);
Class[] class1 ={int.class,String.class};
Constructor constructor=aClass.getConstructor(class1);
System.out.println(constructor);
Object[] iObjects={1000,"hello"};
Object object =constructor.newInstance(iObjects);
System.out.println(object);