• Java的反射机制一


    Java具有一定的动态性,我们可以利用反射机制,字节码操作来获得类似动态语言的特性。
    动态操作对象,构造方法,属性,方法
    Demo2
    如何取得属性和方法以及构造器
    public class Demo2
    {
    public static void main()
    {
    String path = “class.jeeleaning.servlet.User”;
    Class clazz = Class.forName(path);
    //获取属性
    Field[] fields = clazz.getDeclaredFields();
    Field f = clazz.getDeclaredField("uname);
    //获取方法
    Method[] methods = clazz.getDeclaredMethods();
    Method m =clazz.getDeclaredMethod(“getUname”,对应参数的类对象 :null,或Strin.class);
    //构造器
    Constructor[] constructors = clazz.getConstructors();
    Construct c1 = clazz.getConstructor(对应参数的类对象和获取方法类似);

    Demo3
    通过反射API动态操作,属性,方法,构造器
    public class Demo3
    {
    public static void main(String[] args)
    {
    Class clazz = class.forName(path);
    //通过反射API调用构造方法,构造对象;
    User u1 = clazz.newInstance();//调用无参数的构造器
    //注意javabean中运用反射机制时,都需要定义一个无参数的构造器
    Construct c = clazz.getDeclaredConstruct(String.class,int.class)
    c.newInstance(“linminhao”,2);
    //通过API调用方法
    Method method = clazz.getDeclaredMethod(“setName”,String.class);
    method.invoke(u1,“高企三”);
    //通过API调用属性
    Field f= clazz.getDeclaredField(“uname”);
    f.set(u1,“高企四”);

  • 相关阅读:
    spring
    ajax
    jquary
    Java web 部分
    长跑马拉松
    面试的标准
    数据预处理——剔除异常值,平滑,归一化
    概率分布
    养生
    平滑的作用
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12780052.html
Copyright © 2020-2023  润新知