ClassMetadata——定义一个特定类的抽象元数据信息的接口

String getClassName()——返回底层类的名称。

boolean isInterface()——返回底层类是否表示一个接口。

boolean isAbstract()——返回底层类是否被标记为抽象('abstract')。

boolean isConcrete()——返回底层类是否表示一个具体的类，非一个接口和抽象类。

boolean isFinal()——返回底层类是否被标记为'final'(是否能定义子类)。

boolean isIndependent()——确定底层类是否独立的。
例如，是否是顶层类或嵌套类(静态内部类)，其可以独立从一个封闭类来构造。

boolean hasEnclosingClass()——返回底层类是否含有一个封闭类(底层类是一个内部/嵌套类或者方法中的一个本地类)。
如果本方法返回false，则意味着底层类是一个顶层类。

String getEnclosingClassName()——返回底层类中封闭类的名称；如果底层类是一个顶层类，则返回null。

boolean hasSuperClass()——返回底层类是否含有一个超类。

String getSuperClassName()——返回底层类中超类的名称；如果没有任何超类定义，则返回null。

String[] getInterfaceNames()——返回底层类实现的所有接口的名称；如果未实现任何接口，则返回一个空数组。

String[]
getMemberClassNames()——返回本对象表示的类型所声明的所有成员类型的名称集合，包括本类中公共、受保护、包默认和私有的类和接口，但不包括继承的类型和接口。
如果没有任何成员的类型和接口存在，则返回一个空数组。