當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Class getField()用法及代碼示例


java.lang.Class類的getField()方法用於獲取此類的指定字段,該字段是公共字段及其成員。該方法以Field對象的形式返回此類的指定字段。

用法:

public Field getField(String fieldName)
       throws NoSuchFieldException,
              SecurityException

參數:此方法接受參數fieldName,這是要獲取的Field。


返回值:此方法以Field對象的形式返回此類的指定字段。

異常該方法拋出:

  • NoSuchFieldException如果找不到具有指定名稱的字段。
  • NullPointerException 如果名稱為null
  • SecurityException如果存在安全管理員並且不滿足安全條件。

下麵的程序演示了getField()方法。

示例1:

// Java program to demonstrate getField() method 
  
import java.util.*; 
  
public class Test { 
  
    public Object obj; 
  
    public static void main(String[] args) 
        throws ClassNotFoundException, NoSuchFieldException 
    { 
  
        // returns the Class object for this class 
        Class myClass = Class.forName("Test"); 
  
        System.out.println("Class represented by myClass: "
                           + myClass.toString()); 
  
        String fieldName = "obj"; 
  
        // Get the field of myClass 
        // using getField() method 
        System.out.println( 
            fieldName + " Field of myClass: "
            + myClass.getField(fieldName)); 
    } 
}
輸出:
Class represented by myClass: class Test
obj Field of myClass: public java.lang.Object Test.obj

示例2:

// Java program to demonstrate getField() method 
  
import java.util.*; 
  
class Main { 
  
    private Object obj; 
  
    Main() 
    { 
  
        class Arr { 
        }; 
  
        obj = new Arr(); 
    } 
  
    public static void main(String[] args) 
        throws ClassNotFoundException, NoSuchFieldException 
    { 
        Main t = new Main(); 
  
        // returns the Class object 
        Class myClass = t.obj.getClass(); 
  
        String fieldName = "obj"; 
  
        try { 
            // Get the field of myClass 
            // using getField() method 
            System.out.println( 
                fieldName + " Field of myClass: "
                + myClass.getField(fieldName)); 
        } 
        catch (Exception e) { 
            System.out.println(e); 
        } 
    } 
}
輸出:
java.lang.NoSuchFieldException: obj

參考: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getField-java.lang.String-



相關用法


注:本文由純淨天空篩選整理自srinam大神的英文原創作品 Class getField() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。