If you've implemented a1 and a2 in Y, why are you declaring it abstract ?
If it is abstract because there are other abstract methods declared in it, then you need to declare another (non-abstract) class that extends Y and implements all the methods. You can then create an instance of this class and call the a1 method.
If there is no reason to make Y abstract, then remove the abstract keyword and you will be able to create an instance of it. [ August 18, 2006: Message edited by: Joanne Neal ]