Java Class getProtectionDomain() 方法



描述

Java Class getProtectionDomain() 方法返回此类的 ProtectionDomain。

声明

以下是 java.lang.Class.getProtectionDomain() 方法的声明

public ProtectionDomain getProtectionDomain()

参数

返回值

此方法返回此类的 ProtectionDomain。

异常

SecurityException − 如果存在安全管理器并且其 checkPermission 方法不允许获取 ProtectionDomain。

获取类的 ProtectionDomain 示例

以下示例演示了 java.lang.Class.getName() 方法的使用。在此程序中,使用 forName() 方法检索 ClassDemo 的类。使用 getName(),我们检索了类的 ProtectionDomain 并打印出来。

package com.tutorialspoint;

import java.security.ProtectionDomain;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         Class cls = Class.forName("com.tutorialspoint.ClassDemo"); 

         // returns the name of the class
         System.out.println("Class = " + cls.getName());
      
         // returns the ProtectionDomain of this class.
         ProtectionDomain p = cls.getProtectionDomain();
         System.out.println(p);
      } catch(ClassNotFoundException ex) {
        System.out.println(ex.toString());
      }
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Class = com.tutorialspoint.ClassDemo
ProtectionDomain  (file:/C:/Users/Tutorialspoint/eclipse-workspace/Tutorialspoint/bin/ <no signer certificates>)
 jdk.internal.loader.ClassLoaders$AppClassLoader@5c647e05
 <no principals>
 java.security.Permissions@816f27d (
 ("java.io.FilePermission" "C:\Users\Tutorialspoint\eclipse-workspace\Tutorialspoint\bin\-" "read")
 ("java.lang.RuntimePermission" "exitVM")
)

获取 ArrayList 的 ProtectionDomain 示例

以下示例演示了 java.lang.Class.getName() 方法的使用。在此程序中,检索 ArrayList 的类。使用 getName(),我们检索了类的 ProtectionDomain 并打印出来。

package com.tutorialspoint;

import java.security.ProtectionDomain;
import java.util.ArrayList;

public class ClassDemo {

   public static void main(String[] args) {

      Class cls = ArrayList.class; 

      // returns the name of the class
      System.out.println("Class = " + cls.getName());

      // returns the ProtectionDomain of this class.
      ProtectionDomain p = cls.getProtectionDomain();
      System.out.println(p);
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Class = java.util.ArrayList
ProtectionDomain  null
 null
 <no principals>
 java.security.Permissions@33c7353a (
 ("java.security.AllPermission" "<all permissions>" "<all actions>")
)
java_lang_class.htm
广告