Java Field getDeclaringClass()方法及实例

Java Field getDeclaringClass()方法及实例

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

语法

public Class<T> getDeclaringClass()
Java

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

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

下面的程序说明了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 class
class 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;
    }
}
Java

输出:

Declaring Class for Field Object: class User
Java

程序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;
        }
    }
}
Java

输出:

Declaring Class: class GFG$Alphabets
Java

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册