Java 类加载器 setDefaultAssertionStatus() 方法



描述

Java 类加载器 setdefaultassertionstatus() 方法为该类加载器设置默认断言状态。此设置决定了将来由该类加载器加载并初始化的类默认情况下是否启用或禁用断言。

声明

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

public void setDefaultAssertionStatus(boolean enabled)

参数

enabled − 如果由该类加载器加载的类将从此处默认启用断言,则将其设置为 true,如果将默认禁用断言,则将其设置为 false。

返回值

此方法不返回值。

异常

将类加载器的默认断言状态设置为 True 的示例

以下示例显示了 java.lang.ClassLoader.setdefaultassertionstatus() 方法的使用。在此程序中,我们检索了 ClassLoaderDemo 的类。然后使用 getClassLoader() 获取所需的类加载器,并使用 getClass() 打印类加载器类,并使用 getParent() 方法打印父类加载器。现在,使用 setdefaultassertionstatus() 方法,我们将与类加载器关联的默认断言状态设置为 true。

package com.tutorialspoint;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("com.tutorialspoint.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.setDefaultAssertionStatus(true); 
   }
} 

输出

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

class jdk.internal.loader.ClassLoaders$AppClassLoader
jdk.internal.loader.ClassLoaders$PlatformClassLoader@4517d9a3

将类加载器的默认断言状态设置为 False 的示例

以下示例显示了 java.lang.ClassLoader.setdefaultassertionstatus() 方法的使用。在此程序中,我们检索了 ClassLoaderDemo 的类。然后使用 getClassLoader() 获取所需的类加载器,并使用 getClass() 打印类加载器类,并使用 getParent() 方法打印父类加载器。现在,使用 setdefaultassertionstatus() 方法,我们将与类加载器关联的默认断言状态设置为 false。

package com.tutorialspoint;

public class ClassLoaderDemo {

   public static void main(String[] args) throws Exception {
     
      Class cls = Class.forName("com.tutorialspoint.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.setDefaultAssertionStatus(false); 
   }
} 

输出

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

class jdk.internal.loader.ClassLoaders$AppClassLoader
jdk.internal.loader.ClassLoaders$PlatformClassLoader@4517d9a3
java_lang_classloader.htm
广告