系统开发系列 之java反射以及应用补充

Posted 琅晓琳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统开发系列 之java反射以及应用补充相关的知识,希望对你有一定的参考价值。

java使用反射给对象属性赋值的两种方法

主程序:

/**
 */
public class TestReflectSet 
    private String readOnly;
    public String getReadOnly() 
        return readOnly;
    
 
    public void setReadOnly( String readOnly ) 
        System.out.println("set");
        this.readOnly = readOnly;
        

方法1:

TestReflectSet t = new TestReflectSet();
Field f = t.getClass().getDeclaredField("readOnly");
f.setAccessible(true);
f.set(t, "test");
System.out.println(t.getReadOnly());

方法2:

Method setReadOnly = t.getClass().getMethod("setReadOnly", String.class);
String s ="test2";
setReadOnly.invoke(t,s);
System.out.println(t.getReadOnly());

最后的打印结果:
调用方法一
test
调用方法二
set
test2
也就是说,第一种方法,没有调用属性的set方法就完成了赋值,但是第二种方法,是通过调用属性的set方法来完成赋值。

以上是关于系统开发系列 之java反射以及应用补充的主要内容,如果未能解决你的问题,请参考以下文章

系统开发系列 之java反射以及应用补充

系统开发系列 之java反射以及应用

系统开发系列 之java反射以及应用

系统开发系列 之java反射以及应用

Java之反射 — 用法及原理

细说java系列之反射