if you were to say
a = new A();
this means you are trying to instantiate interface A.
a = new A(){
watch the above syntax carefully, you didn't end the above
statement with a semi-colon and trying to provide more statements which
means you are creating an object that belongs to anonymous inner class and this anonymous inner class implements interface A.
For a detailed understanding of the anonymous inner class, I recommend
going thru any
JAVA programming book that has innerclass chapter.
Hope this helps.