This class is used to bind together the supplied class and class file bytes in a single ClassDefinition object. These class provide methods to extract information about the type of class and class file bytes of an object. This class is a subclass of java.lang.Object class.
Class declaration:
public final class ClassDefinition extends Object
Constructor:
| Constructor | Description |
|---|---|
| ClassDefinition(Class<?> theClass, byte[] theClassFile) | This constructor creates a new instance of  ClassDefinition class by binding the supplied class and class file bytes. |
Methods:
| Method | Description |
|---|---|
| getDefinitionClass() | This method is used to get the class type of this class |
| getDefinitionClassFile() | This method Is used to get the array of bytes that contains the new class file. |
Example 1: Java program to create new ClassDefinition object
Java
// Java program to create new ClassDefinition objectimport java.lang.instrument.ClassDefinition;  // driver classpublic class GFG {    // demoClass    static class demoClass {        void msg() { System.out.println("GeeksForGeeks"); }    }    // main method    public static void main(String[] args)    {        try {              // creating demoClass object            demoClass cls = new demoClass();                        // creating object of supplied class            Class<?> theClass = cls.getClass();                        // creating array of class files            byte[] classFiles = { 0 };                        // creating a new ClassDefinition object            ClassDefinition classdefinition                = new ClassDefinition(theClass, classFiles);            System.out.println(                "ClassDefinition object successfully created");        }        catch (Exception e) {            e.printStackTrace();        }    }} |
ClassDefinition object successfully created
Example 2: Java program to illustrate ClassDefinition class methods
Java
// Java program to illustrate ClassDefinition class methodsimport java.lang.instrument.ClassDefinition;  // driver classpublic class GFG {        // demoClass    static class demoClass {        void msg() { System.out.println("GeeksForGeeks"); }    }        // main method    public static void main(String[] args)    {        try {              // creating demoClass object            demoClass cls = new demoClass();                        // creating object of supplied class            Class<?> theClass = cls.getClass();                        // creating array of class files            byte[] classFiles = { 0 };                        // creating a new ClassDefinition object            ClassDefinition classdefinition                = new ClassDefinition(theClass, classFiles);                        // printing the class            System.out.println(                classdefinition.getDefinitionClass());                        // printing array of bytes that contain class            // files            System.out.println(                classdefinition.getDefinitionClassFile());        }        catch (Exception e) {            e.printStackTrace();        }    }} |
class GFG$demoClass [B@448139f0
