zoukankan      html  css  js  c++  java
  • 利用反射查看类的声明信息

    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("泛型参数:	"+type);
    			}
    		}else{
    			System.out.println("没有参数!");
    		}
    		
    		Type[] interfaces = classz.getInterfaces();
    		if(interfaces.length!=0){
    			for(Type ty:interfaces){
    				System.out.println("实现的所有接口:	"+ty);
    			}
    		}else{
    			System.out.println("	"+"空");
    		}
    		//输出类的直接继承类
    		Type supers = classz.getGenericSuperclass();
    		if(supers!=null){
    			System.out.println("直接继承类是:	"+supers);
    		}else{
    			System.out.println("null");
    		}
    		//输出所有的注解信息
    		Annotation[] annotation = classz.getAnnotations();
    		if(annotation.length!=0){
    			for(Annotation at:annotation){
    				System.out.println("	"+at);
    			}
    		}else{
    			System.out.println("没有注解信息!");
    		}
    	}
    
    }
  • 相关阅读:
    对象数组输出学生信息
    对象数组实现添加和显示客户信息
    控制台输出模拟注册登录幸运抽奖
    对象数组和for循环遍历输出学生的信息
    控制台输出<迷你DVD管理>
    CF524B 题解
    优先队列的重载运算符
    [洛谷日报第19期]Codeforces游玩攻略(转)
    最短路(三种基础算法)
    P2032 扫描
  • 原文地址:https://www.cnblogs.com/harbin1900/p/8480950.html
Copyright © 2011-2022 走看看