Java SecurityManager getClassContext()方法与示例

SecurityManager类getClassContext()方法

  • getClassContext()方法在java.lang包中可用。

  • getClassContext()方法用于以“类”类型的数组返回当前正在执行的堆栈跟踪。

  • 堆栈上方法的数量是数组的长度,index [0]元素指示当前执行的方法的类名,相邻的index [1]元素指示当前执行的方法调用者的类名,依此类推。 。

  • getClassContext()方法是一个非静态方法,只能由类对象访问,如果尝试使用类名访问该方法,则会收到错误消息。

  • 在当前执行堆栈的Class []时,getClassContext()方法不会引发异常。

语法:

    public Class[] getClassContext();

参数:

  • 它不接受任何参数。

返回值:

此方法的返回类型为Class [],它以“ Class”类型的数组形式返回当前执行堆栈跟踪。

示例

//Java程序演示示例 
//Manager的Class []getClassContext()方法的说明 

import java.security.*;

public class GetClassContext extends SecurityManager {
    public static void main(String[] args) {
        //通过使用setProperty()方法是设置策略属性 
        //与安全经理
        System.setProperty("java.security.policy", "file:/C:/java.policy");

        //实例化GetClassContext对象
        GetClassContext gc = new GetClassContext();

        //通过使用setSecurityManager()方法是设置
        //安全经理
        System.setSecurityManager(gc);

        //通过使用getContext()方法是返回
        //类上下文数组
        Class[] cl = gc.getClassContext();

        //  显示类上下文数组
        for (int k = 0; k < cl.length; ++k)
            System.out.println("cl[k] = " + cl[k]);
    }
}

输出结果

cl[k] = class GetClassContext