位置:首页 > Java技术 > java.lang > java.lang.ClassLoader.setPackageAssertionStatus()方法实例

java.lang.ClassLoader.setPackageAssertionStatus()方法实例

java.lang.ClassLoader.setPackageAssertionStatus() 方法设置为指定包的包默认断言状态。包默认断言状态决定了在未来的初始化类属于指定包或它的任何“子包”的断言状态。

一个名为p封装的子包是名称以任何包“p”。例如,javax.swing.text的javax.swing中的子包,java.xml和java.lang.reflect都是Java的子包。

声明

以下是java.lang.ClassLoader.setPackageAssertionStatus()方法的声明

public void setPackageAssertionStatus(String packageName, boolean enabled)

参数

  • packageName -- 此是它的包默认断言状态是要设置的包的名称。 null值指示命名的包是“current”。

  • enabled -- 其设置如果当前类装载器装载和属于指定包或任何其子包将默认启用断言,false如果他们将不得不断言在默认情况下禁用类。

返回值

此方法不返回任何值。

异常

  • NA

例子

下面的例子显示java.lang.ClassLoader.setPackageAssertionStatus()方法的使用。

package com.yiibai;

import java.lang.*;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
     Class cls = Class.forName("ClassLoaderDemo");

     // returns the ClassLoader object associated with this Class
     ClassLoader cLoader = cls.getClassLoader();
    
     System.out.println(cLoader.getClass());
    
     // returns the parent ClassLoader
     System.out.println(cLoader.getParent());
  
     // sets the default assertion status for this class loader
     cLoader.setPackageAssertionStatus("java.lang", true); 
   }
} 

让我们来编译和运行上面的程序,这将产生以下结果:

class sun.misc.Launcher$AppClassLoader
sun.misc.Launcher$ExtClassLoader@35ce36