1.反射:动态获取类的信息,以及动态调用对象的方法的功能。可以理解为动态看透类的能力。
2.主要功能:查看类的属性,普通的方法和构造器
3.常用方法:
(1)public String getName()
返回此Class对象所表示的实体的全限定名称。
(2)public Field[] getFields()
返回此Class对象所表示的实体的所有公共属性。
(3)public Field[] getDeclaredFields()
返回此Class对象所表示的实体的所有字段,但不包括继承的字段。
(4)public Method[] getMethods()
返回此Class对象所表示的实体的公共方法。
(5)public Method[] getDeclaredMethods()
返回此Class对象表示的实体的所有方法,但不包括继承的方法。
(6)public Method getMethod(String name,Class... parameterTypes)
返回此Class对象所表示的实体的指定公共成员方法,name指定方
法名称,parameterTypes指定方法参数类型。
(7)public Constructor[] getConstructors()
返回此Class对象所表示的类的所有公共构造方法。
(8)getDeclaredConstructors()
返回此Class对象表示的类声明的所有构造方法。
(9)getDeclaredConstructor(Class...parameterTypes)
返回此Class对象所表示的类的指定构造方法。
publicClass getSuperclass()
返回此Class对象所表示的实体的超类的Class。
(10)public Class[] getInterfaces()
确定此Class对象所表示的类实现的接口。
(11)public T newInstance()
创建此Class对象所表示的类的一个新实例。
(12)public Package getPackage()
获取此类的包。 【String
[Package].getName()】
4.注解:是代码里的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理
(1)、使用原因:编写代码的时候也会尽量的去用注解,一是方便,二是代码更加简洁。
(2)常用注解:
@Override,表示当前的方法定义将覆盖超类中的方法。
@Deprecated,使用了注解为它的元素编译器将发出警告,因为注解@Deprecated是不赞成使用的代码,被弃用的代码。
@SuppressWarnings,关闭不当编译器警告信息
unchecked抑制单类型的警告,不检查,all抑制所有类型的警告