> What is design pattern in java
the same thing as in any language, so get on google and research it
> Why we need this
I certainly don't need them, but design patterns contain nice hints on how to handle generic problems. Knowing about them can help to write better code.
> how to implement it
You write code that follows the "rules" of the pattern.
Design patterns are like magic beans you can sprinkle on your code to make it automatically better. There are 23 patterns known to man, and if you know them all, it's like knowing Kung Foo. The more of them you can squeeze into your project, the better your code will be, and the more impressive you will appear to others. Remember the design patterns maxim: "If something's worth doing, it's worth horrendously over-engineering"
A very common purpose of Design patterns is making it easier to maintain and modify your code. A very common effect of people learning design patterns is making the code immensely complex. The ones coming after them would have to spend that much time to decipher the web of patterns and find out all they need to change is one parameter, that they could better have rewritten the entire application from scratch!