📜  Java中的类 getDeclaringClass() 方法和示例

📅  最后修改于: 2022-05-13 01:55:18.981000             🧑  作者: Mango

Java中的类 getDeclaringClass() 方法和示例

Java.lang.Class 类getDeclaringClass()方法用于获取该类的声明类。如果该类或接口是另一个类的成员,则该方法返回该类的声明类。否则此方法返回 null。

句法:

public Constructor getDeclaringClass()

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

返回值:如果该类或接口是另一个类的成员,则该方法返回该类的声明类。否则此方法返回 null。

异常如果存在安全管理器并且不满足安全条件,则此方法将引发SecurityException

下面的程序演示了 getDeclaringClass() 方法。

示例 1:

// Java program to demonstrate getDeclaringClass() method
  
import java.util.*;
  
public class Test {
    public static void main(String[] args)
        throws ClassNotFoundException
    {
  
        // returns the Class object for this class
        Class myClass = Class.forName("Test");
  
        System.out.println("Class represented by myClass: "
                           + myClass.toString());
  
        // Get the declaring class of myClass
        // using getDeclaringClass() constructor
        System.out.println("DeclaringClass of myClass: "
                           + myClass.getDeclaringClass());
    }
}
输出:
Class represented by myClass: class Test
DeclaringClass of myClass: null

示例 1:

// Java program to demonstrate getDeclaringClass() method
  
import java.util.*;
  
class Main {
  
    class Arr {
    };
  
    public Object obj;
  
    Main()
    {
  
        obj = new Arr();
    }
  
    public static void main(String[] args)
        throws ClassNotFoundException
    {
        Main t = new Main();
  
        // returns the Class object
        Class myClass = t.obj.getClass();
  
        // Get the declaring class of myClass
        // using getDeclaringClass() constructor
        System.out.println("DeclaringClass of myClass: "
                           + myClass.getDeclaringClass());
    }
}
输出:
DeclaringClass of myClass: class Main

参考: https://docs.oracle.com/javase/9/docs/api/ Java/lang/Class.html#getDeclaringClass–