Hi, This question(removed question), answer and explanation is from K&B mock exam. Could you please show sample code because I am not able to make it.
Anonymous inner class can extend exactly one class or implement exactly one interface.
The syntax of an anonymous inner class allows for only one named type
after the new, and that type must be either a single interface (in which case the anonymous
class implements that one interface) or a single class (in which case the anonymous class
extends that one class).
The best example is the way we add ActionListener to the Swing components:
ActionListener is an Interface which contains only one method- actionPerformed. In the above code- we are using an Anonymous Inner class- Actually implementing the interface- ActionListener. And you can see that we are able to implement only interface. Similar way you could be using some concrete class to Extend the class.
Please see following classes doing the same thing in different ways
Case I: Without using Anonymous Inner Classes.
With this version of code you can do the following things
1. You can implement not only runnable interface but multiple interfaces using comma separated list of interface names. This is not possible in Case II and III versions.
2. You can extend one class and implement multiple interfaces. This is also not possible in II and III.
Case II: Anonymous Inner Class Version with implementing only one Runnable interface
Case III: Anonymous Inner Class Version with extending only one Thread class