码迷,mamicode.com
首页 > 编程语言 > 详细

java 中getDeclaredFields() 与getFields() 的区别

时间:2015-05-06 01:15:13      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

java 中getDeclaredFields() 与getFields() 的区别

 

getDeclaredFields()返回Class中所有的字段,包括私有字段。例证:

Java代码  技术分享
  1. package com.test.bean;  
  2.   
  3. import java.sql.Timestamp;  
  4.   
  5. public class Person2 {  
  6.     private int id;  
  7.     private int age;  
  8.     private String personName;  
  9.     private Timestamp birthdate;  
  10.     public String identitify;  
  11.     protected String address;  
  12.     String phone;  
  13.       
  14. }  
  15. @Test  
  16.     public void test_getDeclaredFields() {  
  17.         Field[]fields=Person2.class.getDeclaredFields();  
  18.         for (int i = 0; i < fields.length; i++) {  
  19.             Field field = fields[i];  
  20.             System.out.println(field.getName());  
  21.         }  
  22.     }  

 运行结果:

id

age

personName

birthdate

identitify

address

phone

 

getFields  只返回公共字段,即有public修饰的字段。例证:

Java代码  技术分享
  1. @Test  
  2.     public void test_getDeclaredFields() {  
  3.         Field[]fields=Person2.class.getFields();  
  4.         for (int i = 0; i < fields.length; i++) {  
  5.             Field field = fields[i];  
  6.             System.out.println(field.getName());  
  7.         }  
  8.     }  

 运行结果如下:

identitify

 

总结:

(1)getDeclaredFields()返回Class中所有的字段,包括私有字段;

(2)getFields  只返回公共字段,即有public修饰的字段

java 中getDeclaredFields() 与getFields() 的区别

标签:

原文地址:http://www.cnblogs.com/duanweishi/p/4480774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!