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 object import java.lang.instrument.ClassDefinition;   // driver class public 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 methods import java.lang.instrument.ClassDefinition;   // driver class public 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