标签:的区别 system 小朋友 out 笔记 red 成员 add 回声
注: 是public,我们平时定义变量一般用的private,如果用getFields是不会获得.
注: 与getFields不同的就是getDeclareFields能返回声明中所有定义的成员变量,不管你是私有还是保护的,但是仅限于当前类中的不包括父类的成员.
1.定义一个Account类
public class Account {
private String address;
}
2.定义一个User类继承了Account类
public class User extends Account{
private String name;
private String sex;
}
3.测试类
public class Test {
public static void main(String[] args) {
Class clazz = User.class;
Field[] fields = clazz.getFields();
for (Field field : fields){
System.out.println("getFields: " + field.getName());
}
System.out.println("=====================");
fields = clazz.getDeclaredFields();
for (Field field : fields){
System.out.println("getDeclaredFields: " + field.getName());
}
}
}
4.结果
=====================
getDeclaredFields: name
getDeclaredFields: sex
5.改变Account中address的属性为public并打印
getFields: address
=====================
getDeclaredFields: name
getDeclaredFields: sex
6.改变User中name的属性为public并打印
getFields: name
getFields: address
=====================
getDeclaredFields: name
getDeclaredFields: sex
7.综上基本可以验证定义
本篇只是看《Java核心技术卷1》一个随笔记录,与君共勉;
class.getFields和class.getDeclareFields的区别
标签:的区别 system 小朋友 out 笔记 red 成员 add 回声
原文地址:https://www.cnblogs.com/yantt/p/12916003.html