从 Java 中的一个类获取所有已声明的字段
java.lang.Class.getDeclaredFields() 方法返回一个字段对象的数组。这些字段对象包括具有公共、私有、受保护和默认访问权限的对象,但不包括继承字段。
此外,如果类或接口没有声明字段或在 Class 对象中表示基本类型、数组类或 void,则 getDeclaredFields() 方法返回一个零长度数组。
以下是一个展示此功能的程序 −
示例
package Test;
import java.lang.reflect.*;
public class Demo {
int i;
char c;
public Demo(int i, char c) {
this.i = i;
this.c = c;
}
public static void main(String[] args) {
try {
Demo obj = new Demo(7, 'A');
Class c = obj.getClass();
Field[] fields = c.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("The field is: " + fields[i].toString());
}
} catch(Exception e) {
System.out.println(e.toString());
}
}
}输出
The field is: int Test.Demo.i The field is: char Test.Demo.c
现在让我们了解以上程序。
在 main() 方法中创建了 Demo 类的对象。然后,数组 fields[] 存储使用 getDeclaredFields() 方法获取到的字段对象。然后使用一个 for 循环显示字段。展示此功能的一个代码片段如下 −
Demo obj = new Demo(7, 'A');
Class c = obj.getClass();
Field[] fields = c.getDeclaredFields();
for(int i = 0; i < fields.length; i++) {
System.out.println("The field is: " + fields[i].toString());
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP