Java Field getDeclaringClass()方法及实例

来源:这里教程网 时间:2026-02-17 20:50:41 作者:

Java Field getDeclaringClass()方法及实例

java.lang.reflect .FieldgetDeclaringClass() 方法是用来获取声明了该Field对象所代表的字段的Class对象。如果字段对象存在,而我们想获得类对象,那么我们可以用这个方法获得该类对象。

语法

public Class<T> getDeclaringClass()

参数: 此方法不接受任何东西。

返回值: 该方法返回一个代表基础成员的声明类的对象。

下面的程序说明了getDeclaringClass()方法:
程序1 :

// Java program to demonstrate the above method  import java.lang.reflect.Field;  public class GFG {      public static void main(String[] args)        throws NoSuchFieldException,               SecurityException    {          // Get the value field object        Field field            = User.class                  .getField("identificationChar");          // get the declaring class object        Class declaringClass            = field.getDeclaringClass();          // print result        System.out.println("Declaring Class"                           + " for Field Object: "                           + declaringClass);    }}  // sample User classclass User {      // static char values    public static char identificationChar = 'E';    public static char selectionChar = 'A';    public static String name = "Aman";      // getter and setter methods    public static char getIdentificationChar()    {        return identificationChar;    }      public static void    setIdentificationChar(char identificationChar)    {        User.identificationChar = identificationChar;    }      public static char getSelectionChar()    {        return selectionChar;    }      public static void    setSelectionChar(char selectionChar)    {        User.selectionChar = selectionChar;    }      public static String getName()    {        return name;    }      public static void setName(String name)    {        User.name = name;    }}

输出:

Declaring Class for Field Object: class User

程序2

// Java program to demonstrate the above method  import java.lang.reflect.Field;  import java.lang.reflect.Field;  public class GFG {      public static void main(String[] args)        throws NoSuchFieldException,               SecurityException    {          // Get the value field object        Field field            = Alphabets.class.getField("value");          // get the declaring class object        Class declaringClass            = field.getDeclaringClass();          // print result        System.out.println("Declaring Class: "                           + declaringClass);    }      // Alphabets class    static class Alphabets {          // char field        public static char value = 'Q';          // getter and setter methods        public static char getValue()        {            return value;        }          public static void setValue(char value)        {            Alphabets.value = value;        }    }}

输出:

Declaring Class: class GFG$Alphabets

参考文献 : https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getDeclaringClass-

相关推荐