Almost every book introducing lambda beginning with a Runnable anonymous class, or even mentioned as an alternative to "anonymous class". However, lambda returns the same object while anonymous class returns a new one. 
1. Why lambda behaves like this?
2. Why it is designed to be so?

 
    