class="java" name="code">package test.my.chap0302; import java.lang.annotation.Annotation; import java.lang.reflect.Modifier; import java.lang.reflect.Type; import java.lang.reflect.TypeVariable; public class ClassDeclarationView { /** * @param args * @throws ClassNotFoundException */ @SuppressWarnings("unchecked") public static void main(String[] args) throws ClassNotFoundException { Class<?> classz = Class.forName("java.util.ArrayList"); System.out.println("标准的类名:"+classz.getCanonicalName()); System.out.println("标准的修饰符:"+Modifier.toString(classz.getModifiers())); TypeVariable[] typeVariable = classz.getTypeParameters(); //输出类的泛型参数 if(typeVariable.length!=0){ for(TypeVariable type :typeVariable){ System.out.println("泛型参数:\t"+type); } }else{ System.out.println("没有参数!"); } Type[] interfaces = classz.getInterfaces(); if(interfaces.length!=0){ for(Type ty:interfaces){ System.out.println("实现的所有接口:\t"+ty); } }else{ System.out.println("\t"+"空"); } //输出类的直接继承类 Type supers = classz.getGenericSuperclass(); if(supers!=null){ System.out.println("直接继承类是:\t"+supers); }else{ System.out.println("null"); } //输出所有的注解信息 Annotation[] annotation = classz.getAnnotations(); if(annotation.length!=0){ for(Annotation at:annotation){ System.out.println("\t"+at); } }else{ System.out.println("没有注解信息!"); } } }