Instance of package1.MyClass is an object that has identity, properties, behavior and holds association(composition/aggregation) with other instances(objects).
Say, package1.MySubClass extends package1.MyClass
Below code uses Class meta programming abstraction,
Class<?> myClassInstance = Class.forName("package1.MyClass");
that provides information about package1.MyClass class.
1) Is package1.MyClass an object?
2) If yes, Does package1.MyClass object has it's own identity, properties, behavior and holds information about generalization relation with package1.MySubClass object?
3) Why does Java call meta-programming as Reflection?