zoukankan      html  css  js  c++  java
  • [javaSE] 反射-Class类的基本操作

    获取类的名称

    获取该类的方法

    获取方法的返回值类型

    获取方法的名称

    获取方法的参数的类型

    package com.tsh.reflect;
    
    import java.lang.reflect.Method;
    
    public class ReflectDemo {
        public static void main(String[] args) {
            //int的类类型
            Class c1=int.class;
            //String的类类型,String的字节码
            Class c2=String.class;
            Class c3=double.class;
            Class c4=void.class;
            
            System.out.println(c1.getName());//输出 int
            System.out.println(c2.getName());//输出 java.lang.String
            
            ReflectDemo reflectDemo=new ReflectDemo();
            printClass(reflectDemo);
        }
        /**
         * 打印类的信息
         * @param obj
         */
        public static void printClass(Object obj){
            Class c=obj.getClass();
            System.out.println("类的名称:"+c.getName());
            //获取该类的方法获取该类的public的方法
            Method[] methods=c.getMethods();
            for(Method method: methods){
                //获取返回值类型
                Class returnTypeClass=method.getReturnType();
                String returnType=returnTypeClass.getSimpleName();
                //获取方法的名称
                String methodName=method.getName();
                //获取参数的类型
                Class[] paramClass=method.getParameterTypes();
                String params=new String();
                int i=0;
                for(Class param:paramClass){
                    if(i!=0){
                        params+=","+param.getSimpleName();
                    }else{
                        params+=param.getSimpleName();
                    }
                    i++;
                }
                System.out.println(returnType+" "+methodName+"("+params+")");
            }
        }
    }

    返回结果

    类的名称:com.tsh.reflect.ReflectDemo
    void main(String[])
    void printClass(Object)
    void wait(long,int)
    void wait(long)
    void wait()
    boolean equals(Object)
  • 相关阅读:
    6)图[5]最短路径
    6)图[4]关键路径
    6)图[3]拓扑排序算法
    6)图[2]Prim算法[最小生成树]
    Aprori算法[关联规则算法]
    K-Modes算法[聚类算法]
    linux Centos6.7 python交互模式下回退异常问题解决
    Python-面向对象(二)-Day7
    Python-面向对象(一)-Day7
    (error) MISCONF Redis is configured to save RDB snapshots
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5866539.html
Copyright © 2011-2022 走看看