when should we go for interface and abstract classes and concrete classes please explain me with example

Thanks
akhil