On your way in you may have missed that we have a policy on screen names here at JavaRanch. Basically, it must consist of a first name, a space, and a last name, and not be obviously fictitious. Since yours does not conform with it, please take a moment to change it, which you can do right here.
List myList = new ArrayList()
This does not instantiate an interface, it instantiates a class (ArrayList). This object can be assigned to a reference of type List because ArrayList implements List.
Your example is not actually similar, because class nn does not implement interface q. If you declare instead "class nn implements q" then it will work.