Android 面试 java注解与反射

368 阅读1分钟

blog.csdn.net/qq_48083892…

1.注解

image.png

image.png

image.png image.png

2.反射

  • 1.什么是反射 在Java运行时环境中,对于任意一个类,想知道这个类有哪些属性和方法! 对于任意一个对象,去调用它的任意一个方法! image.png

image.png

image.png

  • 2.反射机制的相关类 image.png

  • 3.反射中如何获取Class类的实例

image.png

image.png

  • 4.如何获取一个类的属性对象 & 构造器对象 & 方法对象

image.png 获取指定类的属性(这个方法无法获取私有的属性)—> Class对象.getField(这里要填写具体的属性名);
获取所有类的属性(这个方法只能获取公开的属性)-----> Class对象.getFields();
获取所有类的属性(包括私有的)------> Class对象.getDeclaredFields();
获取指定类的属性(包括私有的)------> Class对象.getDeclaredField(这里要填写具体的属性名);
获取Class对象中的所有非私有方法-----> Class对象.getMethods();
获取Class对象中的指定非私有方法-----> Class对象.getMethod();
获取Class对象中的所有方法-----> Class对象.getDeclaredMethods();
获取Class对象中的指定方法-----> Class对象.getDeclaredMethod();
类对象.getConstructors() (获取所有public修饰的构造器,返回Constructor[] )
类对象.getConstructor(类…parameterTypes) (获取指定名称的public修饰的构造器,返回Constructor)
类对象.getDeclaredConstructors() (获取所有的构造器,返回Constructor[] )
类对象.getDeclaredConstructor(类…parameterTypes) (获取指定名称的构造器,返回Constructor)