• 反射-获取方法信息


    测试类:
    public
    class Test { public static void main(String[] args) { ClassDemo3 classDemo3 = new ClassDemo3(); String string = "hello"; printClassMessage(string); } }

    package classes;
    
    
    import com.sun.org.apache.xpath.internal.SourceTree;
    
    import java.lang.reflect.Method;
    
    public class ClassDemo3 {
        /*打印类的信息,包括成员变量,和方法*/
        public static void printClassMessage(Object obj) {
            //获取类的信息,首先要获得类的类类型
            Class c = obj.getClass();//传递的是哪个子类对象,c就是盖子类的类类型
            //获取类的名称
            System.out.println("参数类的名称是: " + c.getName());
            /*Method 类, 方法的对象, 一个成员变量方法就是一个Method对象
            getMethods()方法获取的是所有的public方法,包括父类继承而来的
            getDeclaredMethods() 获取的是所有该类自己声明的方法,不问访问权限*/
            Method[] ms = c.getMethods();
            for(Method m : ms){
                //得到方法的返回值的类类型
                Class returnType = m.getReturnType();
                System.out.print("returnType : " + returnType.getName() + " <--");
                //得到方法名
                System.out.println("方法名:" + m.getName());
    
                //获取参数类型
                Class[] paramTypes = m.getParameterTypes();
                for(Class classs : paramTypes){
                    System.out.println("参数列表中的参数类类型 : " + classs.getName());
                }
            }
    
        }
    
    }
    
    
    
     
  • 相关阅读:
    Java swing 代码例子
    MySql
    swing 下拉菜单
    uiautomator2.0的配置的两种方法
    【Java】边框总结
    Java可视操作界面例子
    Java多线程例子
    使用Java让android手机自动执行重复重启
    形参的一种特殊写法
    this 基础使用方法
  • 原文地址:https://www.cnblogs.com/wangnuo/p/7730018.html
Copyright © 2020-2023  润新知