作为初学者对java反射机制的初步理解

 
package reflectDemo.domain;
/**
 * 自定义person类*/
public class Person {
    public void personMethod(){
        System.out.println("person类中的personMethod方法被执行了");
        System.out.println("---------------------------------");
    }
}
package reflectDemo.domain;
/*
 *自定义Xbohdpoh工具类:
 * 静态方法的功能是加载配置文件,获取配置文件中的类的全路径创建类的实例化对象,
 * 获取类的成员方法,并执行;
 */
import java.io.InputStream;
        import java.lang.reflect.Method;
        import java.util.Properties;
public class Xbohdpoh {
    static String className="className";
    static String methodName="methodName";
    public static void xboh(String pzwj){
        InputStream isp = Xbohdpoh.class.getClassLoader().getResourceAsStream(pzwj);
        Properties properties=new Properties();
        try {
            properties.load(isp);
            String pclassName = properties.getProperty(className);
            Class objClass = Class.forName(pclassName);
            Object o = objClass.newInstance();
            String methodname = properties.getProperty(methodName);
            Method method = objClass.getMethod(methodname);
            method.invoke(o);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
 
package reflect;
/*测试工具类*/
import reflectDemo.domain.Xbohdpoh;

public class Test {
    public static void main(String[] args) {
        Xbohdpoh.xboh("person.properties");  //person 类中的 methods方法被执行了
    }
}

 
 
/*配置文件 person.properties*/
className=reflectDemo.domain.Person
methodName=personMethod

 
 

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值