[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)

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/12623.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论