国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java中的反射,知道類名創建類,還可以設置私有屬性的值

2019-11-14 15:00:22
字體:
來源:轉載
供稿:網友

剛剛學到了反射,感覺反射的功能好強大,所以想寫篇博客記錄下自己的學習成果。

利用反射來創建對象。

Class c1=Class.forName("test.Person");//通過類名來創建類,這里test.person只是一個類名,。這個person類代碼在//本文最下方/***情況1:調用無參的構造方法來創建對象*/Person p=c1.newInstance();//這樣就創建好了/***情況2:調用有參構造方法*/Constructor cs=c1.getConstructor(String.class,int.class);//括號里面寫的是構造方法的參數類型的類化,也就是后面加.class就好了Person p=(Person) cs.newInstance("張三",22);//調用構造方法生成對象
View Code

利用反射來設置私有屬性

    try {    Class clazz=Class.forName("testPerson");    Person p=(Person) clazz.newInstance();    Field f1=clazz.getDeclaredField("name");    f1.setaccessible(true);//設置是否可以操作私有屬性    f1.set(p, "wfadf"); System.out.PRintln(f1.get(p));    } catch (Exception e) {        // TODO Auto-generated catch block        throw new RuntimeException(e);    }

Person類代碼

package test;public class Person {    private String name;    private int age;        public Person() {            }    public Person(String name, int age) {            this.name = name;        this.age = age;    }    public String getName() {        return name;    }/*    public void setName(String name) {        this.name = name;    }*/    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 澄江县| 祁东县| 甘南县| 芦溪县| 乡宁县| 乃东县| 枝江市| 五台县| 阳西县| 安西县| 富顺县| 长兴县| 岱山县| 昌乐县| 洞头县| 萝北县| 伊宁县| 紫金县| 乌兰察布市| 那曲县| 黎川县| 昭苏县| 兴和县| 河南省| 荃湾区| 高密市| 南丰县| 尼玛县| 陕西省| 房山区| 启东市| 饶平县| 外汇| 新邵县| 莫力| 遵义市| 崇义县| 纳雍县| 扶风县| 大荔县| 昆明市|