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