package reflection;

public class ClassNameTest {
    
    public static void main(String[] args) {
        System.out.println(new ClassNameTest().getClass().getName());        
        // primivive types
        System.out.println(void.class.getName());
        System.out.println(boolean.class.getName());
        System.out.println(byte.class.getName());
        System.out.println(short.class.getName());
        System.out.println(char.class.getName());
        System.out.println(int.class.getName());
        System.out.println(long.class.getName());
        System.out.println(float.class.getName());
        System.out.println(double.class.getName());
        // array types
        System.out.println(new boolean[0].getClass().getName());
        System.out.println(new byte[0].getClass().getName());
        System.out.println(new short[0].getClass().getName());
        System.out.println(new char[0].getClass().getName());
        System.out.println(new int[0].getClass().getName());
        System.out.println(new long[0].getClass().getName());
        System.out.println(new float[0].getClass().getName());
        System.out.println(new double[0].getClass().getName());
        System.out.println(new Object[0].getClass().getName());
        System.out.println(args.getClass().getName());
    }
    
}

@@ -93,32 +93,110 @@
 args) %7B%0A        
+// normal classes%0A        System.out.println(Object.class.getName());%0A        
 System.out.print
@@ -198,20 +198,16 @@
 println(
-new 
 ClassNam
@@ -215,21 +215,14 @@
 Test
-().getC
+.c
 lass
-()
 .get
@@ -1361,24 +1361,155 @@
 getName());%0A
+        System.out.println(new int%5B0%5D%5B0%5D.getClass().getName());%0A        System.out.println(new Object%5B0%5D%5B0%5D.getClass().getName());%0A
     %7D%0A    %0A%7D

test class name