標籤:
java 中getDeclaredFields() 與getFields() 的區別
getDeclaredFields()返回Class中所有的欄位,包括私人欄位。例證:
Java代碼
- package com.test.bean;
-
- import java.sql.Timestamp;
-
- public class Person2 {
- private int id;
- private int age;
- private String personName;
- private Timestamp birthdate;
- public String identitify;
- protected String address;
- String phone;
-
- }
- @Test
- public void test_getDeclaredFields() {
- Field[]fields=Person2.class.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- Field field = fields[i];
- System.out.println(field.getName());
- }
- }
運行結果:
id
age
personName
birthdate
identitify
address
phone
getFields 只返回公用欄位,即有public修飾的欄位。例證:
Java代碼
- @Test
- public void test_getDeclaredFields() {
- Field[]fields=Person2.class.getFields();
- for (int i = 0; i < fields.length; i++) {
- Field field = fields[i];
- System.out.println(field.getName());
- }
- }
運行結果如下:
identitify
總結:
(1)getDeclaredFields()返回Class中所有的欄位,包括私人欄位;
(2)getFields 只返回公用欄位,即有public修飾的欄位
java 中getDeclaredFields() 與getFields() 的區別