当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。