< prev index next >

src/java.base/share/classes/java/lang/Class.java

Print this page

        

*** 323,332 **** --- 323,336 ---- * specified name. * @throws LinkageError if the linkage fails * @throws ExceptionInInitializerError if the initialization provoked * by this method fails * @throws ClassNotFoundException if the class cannot be located + * + * @jls 12.2 Loading of Classes and Interfaces + * @jls 12.3 Linking of Classes and Interfaces + * @jls 12.4 Initialization of Classes and Interfaces */ @CallerSensitive public static Class<?> forName(String className) throws ClassNotFoundException { Class<?> caller = Reflection.getCallerClass();
*** 337,347 **** /** * Returns the {@code Class} object associated with the class or * interface with the given string name, using the given class loader. * Given the fully qualified name for a class or interface (in the same * format returned by {@code getName}) this method attempts to ! * locate, load, and link the class or interface. The specified class * loader is used to load the class or interface. If the parameter * {@code loader} is null, the class is loaded through the bootstrap * class loader. The class is initialized only if the * {@code initialize} parameter is {@code true} and if it has * not been initialized earlier. --- 341,351 ---- /** * Returns the {@code Class} object associated with the class or * interface with the given string name, using the given class loader. * Given the fully qualified name for a class or interface (in the same * format returned by {@code getName}) this method attempts to ! * locate and load the class or interface. The specified class * loader is used to load the class or interface. If the parameter * {@code loader} is null, the class is loaded through the bootstrap * class loader. The class is initialized only if the * {@code initialize} parameter is {@code true} and if it has * not been initialized earlier.
*** 372,382 **** * Java Language Specification</em>. * Note that this method does not check whether the requested class * is accessible to its caller. * * @param name fully qualified name of the desired class ! * @param initialize if {@code true} the class will be initialized. * See Section 12.4 of <em>The Java Language Specification</em>. * @param loader class loader from which the class must be loaded * @return class object representing the desired class * * @throws LinkageError if the linkage fails --- 376,386 ---- * Java Language Specification</em>. * Note that this method does not check whether the requested class * is accessible to its caller. * * @param name fully qualified name of the desired class ! * @param initialize if {@code true} the class will be initialized (which implies linking). * See Section 12.4 of <em>The Java Language Specification</em>. * @param loader class loader from which the class must be loaded * @return class object representing the desired class * * @throws LinkageError if the linkage fails
*** 390,399 **** --- 394,407 ---- * {@code null}, and the caller does not have the * {@link RuntimePermission}{@code ("getClassLoader")} * * @see java.lang.Class#forName(String) * @see java.lang.ClassLoader + * + * @jls 12.2 Loading of Classes and Interfaces + * @jls 12.3 Linking of Classes and Interfaces + * @jls 12.4 Initialization of Classes and Interfaces * @since 1.2 */ @CallerSensitive public static Class<?> forName(String name, boolean initialize, ClassLoader loader)
*** 425,437 **** /** * Returns the {@code Class} with the given <a href="ClassLoader.html#binary-name"> * binary name</a> in the given module. * ! * <p> This method attempts to locate, load, and link the class or interface. ! * It does not run the class initializer. If the class is not found, this ! * method returns {@code null}. </p> * * <p> If the class loader of the given module defines other modules and * the given name is a class defined in a different module, this method * returns {@code null} after the class is loaded. </p> * --- 433,445 ---- /** * Returns the {@code Class} with the given <a href="ClassLoader.html#binary-name"> * binary name</a> in the given module. * ! * <p> This method attempts to locate and load the class or interface. ! * It does not link the class, and does not run the class initializer. ! * If the class is not found, this method returns {@code null}. </p> * * <p> If the class loader of the given module defines other modules and * the given name is a class defined in a different module, this method * returns {@code null} after the class is loaded. </p> *
*** 463,472 **** --- 471,482 ---- * permission check will be performed when a class loader calls * {@link ModuleReader#open(String)} to read the bytes of a class file * in a module.</li> * </ul> * + * @jls 12.2 Loading of Classes and Interfaces + * @jls 12.3 Linking of Classes and Interfaces * @since 9 * @spec JPMS */ @CallerSensitive public static Class<?> forName(Module module, String name) {
< prev index next >