zoukankan      html  css  js  c++  java
  • 反射动态的获取方法

    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);
        }
        
        
    }
  • 相关阅读:
    JBoss+MyEclipse+Mysql 的J2EE环境配置。
    编写一个Session EJB
    编写一个MDB (Message Drive Bean)
    轻便的客户端本地文件数据库 SQLite
    SSH(Struts+Spring+Hibernate)Summary/Profile
    Linux test命令
    mysql权限相关
    linux shell 查看进程的可执行程序路径
    添加dns
    Linux的shell变量
  • 原文地址:https://www.cnblogs.com/qjlbky/p/5929472.html
Copyright © 2011-2022 走看看