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