1.反射:反射就是java程序在运行时,可以加载,探知,使用编译期间完全未知的类。
2.获取Class类的几种方法:
(1)通过forName获取(常用的一种获取Class类)
Class c=Class.forName();
(2)通过类名.class
Class c1=类名.class;
(3)通过对象名.getClass();
Class c2=new 对象名.getClass();
无论通过哪种方式获取的Class类,拿到的都是同一个对象。
3.获取类的信息
(1)基本数据类型
Class c3=Integer.TYPE;
(2)获取方法
Method m=获取Class的对象名.getDeclaredMethod();
(3)获取构造方法
Constructor con=获取Class的对象名.getConstructor();
//执行方法
Object result=con.invoke(对象名,传参数);
(4)获取属性
Field f=获取Class的对象名.getDeclaredFields();
4.一些常用法
(1)获取某个字段
Field f1=获取Class的对象名.getDclaredField();
强转反射
f1.setAccessible(true);
f1.set(对象名,"");
(2)获取字段的类型
Class<?> c4=f1.getType();
(3)获取所有的修饰符的个数
int mod=f1.getModifers();
(4)获取实现的接口
Class[] interface=获取Class的对象名.getInterfaces();
(5)获取父类
Class c5=获取Class的对象名.getSuperClass();
(6)获取返回值类型
class<?> returnType=方法名。getRetrunType();
(7)获取对象的名字
Object object=field.get(对象名);
06-03
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
07-05
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交