• 反射动态的获取方法


    import java.lang.reflect.Method;
    
    public class ReflectDemo4 {
    
        public static void main(String[] args) throws Exception {
            
    //        getMethodDemo();
            
    //        getMethodDemo2();
            
            getMethodDemo3();
            
        }
        //反射方法,非静态,有参数的show方法
        public static void getMethodDemo3() throws Exception{
            
            String className = "cn.qujianlei.domain.Person";
            Class clazz = Class.forName(className);
            
            Method method = clazz.getMethod("paramShow", String.class,int.class);
            
            Object obj = clazz.newInstance();
            
            method.invoke(obj, "xiaoqiang",40);
            
        }
        
        //反射方法,静态,无参数的show方法
        public static void getMethodDemo2() throws Exception{
            
            String className = "cn.qujianlei.domain.Person";
            Class clazz = Class.forName(className);
            
            Method method = clazz.getMethod("staticShow", null);
            
            method.invoke(null, null);
            
            
        }
        
        //反射方法,非静态,无参数的show方法
        public static void getMethodDemo() throws Exception{
            
            String className = "cn.qujianlei.domain.Person";
            Class clazz = Class.forName(className);
            
            Method method = clazz.getMethod("show", null);
            
            Object obj = clazz.newInstance();
            method.invoke(obj, null);
            
        }
    
    }
    public class Person {
            
        private String name;
        private int age;
        public Person(String name, int age) {
            super();
            this.name = name;
            this.age = age;
        }
        
        public Person() {
            super();
            System.out.println("person run");
            
        }
        
        public void show(){
            System.out.println("person show run");
        }
        
        public static void staticShow(){
            System.out.println("person static show run");
        }
        
        public void paramShow(String name,int age){
            System.out.println("show:"+name+"---"+age);
        }
        
        
    }
  • 相关阅读:
    C# DataGridView搜索
    C# DataGridView插入DB
    C# 扩展类
    C# Clone控件
    C# 动态事件示例
    C# 遍历控件 示例
    c的详细学习(11)文件
    c的详细学习(10)结构体与共用体的学习(二)
    c的详细学习(9)结构体与共用体的学习(一)
    c的详细学习(8)指针学习(二)
  • 原文地址:https://www.cnblogs.com/qjlbky/p/5929472.html
Copyright © 2020-2023  润新知