Java 反射

import java.lang.reflect.Method;
import java.lang.reflect.Modifier;

public class Main {
    public static void main(String[] args) {
        Class clazz = null;
        try {
            clazz = Class.forName("Person");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        
        Method[] m = clazz.getDeclaredMethods();
        for(Method t : m) {
            System.out.println(Modifier.toString(t.getModifiers()));    //获取方法的修饰符
            
            System.out.println(t.getReturnType().getName());    //带包名的
        //    System.out.println(t.getReturnType().getSimpleName());    //带包名的
            
            System.out.println(t.getName());    //获取方法名
            
            Class[] type = t.getParameterTypes();        //获取方法的所有参数类型(返回Clss[])
            for(Class temp : type) {
                System.out.print(temp.getSimpleName() + ",");        //打印方法的参数类型(不带包名)
        //System.out.println(temp.getName());        //打印方法的参数类型(带包名)
            }
            
        System.out.println();
            
        }
        
    }
}


 class Person {
    
    
    //方法s1
    
    public static void s1(String str_name,int age) {
        
    }
    
    //方法s2
    
        public static Person s2() {
            return null;
            
        }
}

emmm 好好研究···

本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14741807.html

原文地址:https://www.cnblogs.com/bi-hu/p/14741807.html