首页 > 编程语言 > 详细

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

时间:2015-05-06 01:14:02      阅读:262      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!