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)
  • 相关阅读:
    C#递规与分治策略
    SuperMap Objects Java & Applet
    如何提高显示速度
    系统测试
    ora01033:oracle initialization or shutdown in progress
    ORA12535: TNS:operation timed out。
    oralce01033
    hsql初体验
    创建Oracle数据源失败
    转载地图优化
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5866539.html
Copyright © 2011-2022 走看看