The anonymous inner class (Anonymous Inner Class), when the instance is created, gives the definition of the class, all of which are done in an expression.
Java Code ?
1 2 3 4 |
Runnable rn = new Runnable () { public void Run () { } }; |
equivalent to:
Java Code ?
1 2 3 4 5 |
class Anomymous implements Runnable { public void Run () { } } Runnable rn = new anomymous (); |
you can see that the former is more concise. (Note that the last semicolon of the former cannot be omitted, the compiler regards the whole as a statement)
However, an anonymous inner class is limited to an inner class that is instantiated only once, which is usually used if the inner class needs to be instantiated more than once.
In addition, anonymous internal classes either inherit a parent class, or implement an interface, not both, and implement interfaces without implementing multiple interfaces
Runnable networktask = new Runnable () {}; What is the meaning