java.lang.instrument.ClassDefinition Class in Java
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(); } } } |
Output
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(); } } } |
Output
class GFG$demoClass [B@448139f0