Java Class getFields() 方法



描述

Java Class getFields() 方法返回一個包含 Field 物件的陣列,這些物件反映了由該 Class 物件表示的類或介面的所有可訪問的公共欄位。如果該類或介面沒有可訪問的公共欄位,或者它表示一個數組類、基本型別或 void,則該方法返回長度為 0 的陣列。

宣告

以下是 java.lang.Class.getFields() 方法的宣告

public Field[] getFields() throws SecurityException

引數

返回值

此方法返回表示公共欄位的 Field 物件陣列。

異常

SecurityException − 如果存在安全管理器 s。

獲取類的欄位示例

以下示例顯示了 java.lang.Class.getFields() 方法的使用。在此程式中,我們檢索了 java.awt.Label 的類,然後使用 getFields() 方法檢索所有欄位並列印它們。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         Class cls = Class.forName("java.awt.Label");
         System.out.println("Fields =");

         // returns the array of Field objects representing the public fields
         Field f[] = cls.getFields();
         for (int i = 0; i < f.length; i++) {
            System.out.println(f[i]);
         }
      } catch (Exception e) {
         System.out.println("Exception: " + e);
      }
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Fields =
public static final int java.awt.Label.LEFT
public static final int java.awt.Label.CENTER
public static final int java.awt.Label.RIGHT
public static final float java.awt.Component.TOP_ALIGNMENT
public static final float java.awt.Component.CENTER_ALIGNMENT
public static final float java.awt.Component.BOTTOM_ALIGNMENT
public static final float java.awt.Component.LEFT_ALIGNMENT
public static final float java.awt.Component.RIGHT_ALIGNMENT
public static final int java.awt.image.ImageObserver.WIDTH
public static final int java.awt.image.ImageObserver.HEIGHT
public static final int java.awt.image.ImageObserver.PROPERTIES
public static final int java.awt.image.ImageObserver.SOMEBITS
public static final int java.awt.image.ImageObserver.FRAMEBITS
public static final int java.awt.image.ImageObserver.ALLBITS
public static final int java.awt.image.ImageObserver.ERROR
public static final int java.awt.image.ImageObserver.ABORT

獲取 ArrayList 類欄位的示例

以下示例顯示了 java.lang.Class.getFields() 方法的使用。在此程式中,我們使用了 ArrayList 類。使用 getFields(),我們檢索了所有欄位並列印它們。由於所有欄位都是私有的,因此沒有列印任何欄位。

package com.tutorialspoint;

import java.lang.reflect.Field;
import java.util.ArrayList;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         Class cls = ArrayList.class;
         System.out.println("Fields =");

         // returns the array of Field objects representing the public fields
         Field f[] = cls.getFields();
         for (int i = 0; i < f.length; i++) {
            System.out.println(f[i]);
         }
      } catch (Exception e) {
         System.out.println("Exception: " + e);
      }
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Fields =

獲取 Thread 類欄位的示例

以下示例顯示了 java.lang.Class.getFields() 方法的使用。在此程式中,我們使用了 Thread 類。使用 getFields(),我們檢索了所有欄位並列印它們。

package com.tutorialspoint;

import java.lang.reflect.Field;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         Class cls = Thread.class;
         System.out.println("Fields =");

         // returns the array of Field objects representing the public fields
         Field f[] = cls.getFields();
         for (int i = 0; i < f.length; i++) {
            System.out.println(f[i]);
         }
      } catch (Exception e) {
         System.out.println("Exception: " + e);
      }
   }
} 

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

Fields =
public static final int java.lang.Thread.MIN_PRIORITY
public static final int java.lang.Thread.NORM_PRIORITY
public static final int java.lang.Thread.MAX_PRIORITY
java_lang_class.htm
廣告
© . All rights reserved.