91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

Java反射怎么獲取對象屬性值

小億
165
2024-02-05 15:13:41
欄目: 編程語言

在Java中,可以使用反射機制來獲取對象的屬性值。具體步驟如下:

  1. 獲取對象的Class對象:使用getClass()方法獲取對象的Class對象。

  2. 獲取對象的屬性:使用getDeclaredField()方法或getField()方法獲取對象的屬性,區別在于前者可以獲取所有訪問修飾符的屬性,而后者只能獲取public修飾符的屬性。

  3. 設置屬性的訪問權限:如果屬性是私有的,需要使用setAccessible(true)方法將其設置為可訪問。

  4. 獲取屬性的值:使用get()方法獲取屬性的值。

下面是一個示例代碼:

public class Main {
    public static void main(String[] args) throws Exception {
        // 創建對象
        Person person = new Person("John", 25);

        // 獲取對象的Class對象
        Class<?> clazz = person.getClass();

        // 獲取屬性名為name的屬性
        Field nameField = clazz.getDeclaredField("name");
        // 設置屬性的訪問權限
        nameField.setAccessible(true);
        // 獲取屬性的值
        String name = (String) nameField.get(person);
        System.out.println("name: " + name);

        // 獲取屬性名為age的屬性
        Field ageField = clazz.getDeclaredField("age");
        // 設置屬性的訪問權限
        ageField.setAccessible(true);
        // 獲取屬性的值
        int age = (int) ageField.get(person);
        System.out.println("age: " + age);
    }
}

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

輸出結果為:

name: John
age: 25

0
内江市| 呼图壁县| 宁海县| 香河县| 嘉黎县| 金阳县| 乳山市| 广灵县| 锡林浩特市| 灌南县| 肃南| 喀喇沁旗| 桃园县| 漯河市| 石渠县| 冀州市| 蒙山县| 合山市| 宁蒗| 奇台县| 延吉市| 德格县| 皮山县| 黎城县| 阿鲁科尔沁旗| 京山县| 西平县| 原阳县| 丰镇市| 平凉市| 永福县| 肇东市| 原平市| 佛坪县| 宕昌县| 芜湖市| 普兰县| 武平县| 长寿区| 吐鲁番市| 建湖县|