Below is the code that defines class
type:
package annotationtype;
public class Example {
public static void main(String[] args){
}
}
that gets functionally compiled by javac
to:
public class annotationtype.Example{
public static Class<annotationtype.Example> class;
{
class = Class.forName("annotationtype.Example")
}
public annotationtype.Example(){}
public static void main(java.lang.String[] args){}
}
My major focus is on the Class<annotationtype.Example> class
static member variable in the above code. In addition, this member variable Class<annotationtype.Example> class
is actually pointing to an object of type class Class
that maintains meta data of class Example
after class Example
gets loaded into memory.
Is my understanding correct?