Class.forName(String) in Java

Class.forName(String): This method is available in the java.lang.Class of Java.

Syntax:

Class<?> java.lang.Class.forName(String className) throws ClassNotFoundException

This method takes one argument. This method returns the Class object associated with the class or interfaces with the given string name.

Parameters: One parameter is required for this method.

className: the fully qualified name of the desired class.

Returns: the Class object for the class with the specified name.

Throws:

1. LinkageError - if the linkage fails.

2. ExceptionInInitializerError -  if the initialization provoked by this method fails.

3. ClassNotFoundException - if the class cannot be located.

Approach 1: When no exception

Java

package com.Class;

public class ClassforName {
    public static void main(String[] args)
throws ClassNotFoundException {

        @SuppressWarnings("rawtypes")
        Class class1 = Class.forName("java.lang.Thread");

        System.out.println(class1);
    }
}

Output:

class java.lang.Thread


Approach 2: ClassNotFoundException

Java

package com.Class;

public class ClassforName {
    public static void main(String[] args)
throws ClassNotFoundException {

        @SuppressWarnings("rawtypes")
        Class class1 = Class.forName("java.lang.Hello");

        System.out.println(class1);
    }
}

Output:

Exception in thread "main" java.lang.ClassNotFoundException: java.lang.Hello at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:606) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:168) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:377) at com.Class.ClassforName.main(ClassforName.java:7)


Some other methods of Class

arrayType(): This method returns a Class for an array type whose component type is described by this Class.

asSubclass(Class): This method casts this Class object to represent a subclass of the class represented by the specified class object.

cast(Object): This method casts an object to the class or interface represented by this Class object.

componentType(): This method returns the component type of this Class, if it describes an array type, or null otherwise.

describeConstable(): This method returns a nominal descriptor for this instance if one can be constructed, or an empty Optional if one cannot be.

descriptorString(): This method returns the descriptor string of the entity (class, interface, array class, primitive type, or void) represented by this Class object.

desiredAssertionStatus(): This method returns the assertion status that would be assigned to this class if it were to be initialized at the time this method is invoked.

Class.forName(String): This method returns the Class object associated with the class or interfaces with the given string name.

Class.forName(String, boolean, ClassLoader): his method returns the Class object associated with the class or interfaces with the given string name, using the given class loader.

getAnnotatedInterfaces(): This method returns an array of AnnotatedType objects that represent the use of types to specify super interfaces of the entity represented by this Class object.

getAnnotatedSuperclass(): This method returns an AnnotatedType object that represents the use of a type to specify the superclass of the entity represented by this Class object.

getAnnotation(Class): This method returns this element's annotation for the specified type if such an annotation is present, else null.

getAnnotations(): This method returns annotations that are present on this element. If there are no annotations present on this element, the return value is an array of length 0.

getAnnotationsByType(Class): This method returns annotations that are associated with this element.

getCanonicalName(): This method returns the canonical name of the underlying class as defined by The Java Language Specification.

getClasses(): This method returns an array containing Class objects representing all the public classes and interfaces that are members of the class represented by this Class object.

getClassLoader(): This method returns the class loader for the class. Some implementations may use null to represent the bootstrap class loader.

getComponentType(): This method returns the Class representing the component type of an array. If this class does not represent an array class this method returns null.

getConstructor(Class...): This method returns a Constructor object that reflects the specified public constructor of the class represented by this Class object.

getConstructors(): This method returns an array containing Constructor objects reflecting all the public constructors of the class represented by this Class object.

getDeclaredAnnotation(Class): This method takes one argument. This method returns this element's annotation for the specified type if such an annotation is directly present, else null.

getDeclaredAnnotations(): This method returns annotations that are directly present on this element. This method ignores inherited annotations. 

getDeclaredAnnotationsByType(Class): This method returns this element's annotation(s) for the specified type if such annotations are either directly present or indirectly present.

getDeclaredClasses(): This method returns an array of Class objects reflecting all the classes and interfaces declared as members of the class represented by this Class object.

getDeclaredConstructor(Class...): This method returns a Constructor object that reflects the specified constructor of the class or interface represented by this Class object.

No comments:

Post a Comment