Java Class forName(String className) 方法



描述

Java Class forName(String className) 方法返回与给定字符串名称的类或接口关联的 Class 对象。

声明

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

public static Class<?> forName(String className) throws ClassNotFoundException

参数

className − 这是所需类的完全限定名称。

返回值

此方法返回具有指定名称的类的 Class 对象。

异常

  • LinkageError − 如果链接失败。

  • ExceptionInInitializerError − 如果此方法触发的初始化失败。

  • ClassNotFoundException − 如果找不到该类。

按名称获取类示例

以下示例演示了 java.lang.Class.forName() 方法的使用。使用 forName() 方法,我们通过其名称获得了 ClassLoader 类的 Class。然后使用 getName 打印类的名称,使用 getPackage() 打印类的包名称。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Class object for the class with the specified name
         Class cls = Class.forName("java.lang.ClassLoader");
         
         // returns the name and package of the class
         System.out.println("Class found = " + cls.getName());
         System.out.println("Package = " + cls.getPackage());
      } catch(ClassNotFoundException ex) {
         System.out.println(ex.toString());
      }
   }
}

输出

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

Class found = java.lang.ClassLoader
Package = package java.lang, Java Platform API Specification, version 1.8

按名称获取自定义类示例

以下示例演示了 java.lang.Class.forName() 方法的使用。使用 forName() 方法,我们通过其完全限定名称获得了 ClassDemo 类的 Class。然后使用 getName 打印类的名称,使用 getPackage() 打印类的包名称。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Class object for the class with the specified name
         Class cls = Class.forName("com.tutorialspoint.ClassDemo");
         
         // returns the name and package of the class
         System.out.println("Class found = " + cls.getName());
         System.out.println("Package = " + cls.getPackage());
      } catch(ClassNotFoundException ex) {
         System.out.println(ex.toString());
      }
   }
}

输出

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

Class found = com.tutorialspoint.ClassDemo
Package = package com.tutorialspoint

获取自定义类时遇到异常示例

以下示例演示了 java.lang.Class.forName() 方法的使用。使用 forName() 方法,我们通过其名称获得了 ClassDemo 类的 Class。然后使用 getName 打印类的名称,使用 getPackage() 打印类的包名称。

package com.tutorialspoint;

public class ClassDemo {

   public static void main(String[] args) {

      try {
         // returns the Class object for the class with the specified name
         Class cls = Class.forName("ClassDemo");
         
         // returns the name and package of the class
         System.out.println("Class found = " + cls.getName());
         System.out.println("Package = " + cls.getPackage());
      } catch(ClassNotFoundException ex) {
         System.out.println(ex.toString());
      }
   }
}

输出

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

java.lang.ClassNotFoundException: ClassDemo
java_lang_class.htm
广告