java.lang.Class.getDeclaredFields() 方法返回Field物件的陣列,包括公共,保護,預設(包)存取和私有欄位,但不包括繼承的欄位。該方法返回一個長度為0的陣列,如果類或介面不宣告任何欄位,或者此Class物件表示一個基本型別,陣列類或void。
以下是java.lang.Class.getDeclaredFields()方法的宣告
public Field[] getDeclaredFields() throws SecurityException
NA
此方法返回一個代表這個類的所有宣告的欄位Field物件的陣列。
SecurityException -- 如果安全管理存在。
下面的例子顯示java.lang.Class.getDeclaredFields()方法的使用。
package com.yiibai; import java.lang.reflect.*; public class ClassDemo { public static void main(String[] args) { try { ClassDemo c = new ClassDemo(); Class cls = c.getClass(); // returns the array of Field objects Field[] fields = cls.getDeclaredFields(); for(int i = 0; i < fields.length; i++) { System.out.println("Field = " + fields[i].toString()); } } catch(Exception e) { System.out.println(e.toString()); } } public ClassDemo() { // no argument constructor } public ClassDemo(long l, int i) { this.l = l; this.i = i; } long l = 77688; int i = 3; }
讓我們來編譯和執行上面的程式,這將產生以下結果:
Field = long ClassDemo.l Field = int ClassDemo.i