You're not instantiating abstclass1 and abstclass2; you're instantiating anonymous inner classes that extend abstclass1 and abstclass2 and provide the missing methods. An anonymous class is a real class, and the compiler generates a .class file for it (in this case, likely called AbstractClass_Ex3$1.class and AbstractClass_Ex3$2.class .) They just don't appear to have a name at the point of declaration. These anonymous classes are every bit as real as abstclass3 and abstclass4.
Note: when you post code, please use the UBB "code" tags. Below the text area where you type your message, there are a bunch of little buttons; one says "CODE". Use that one, and your code will appear formatted in your post.