What do you understand by private, protected and public?
These are accessibility modifiers. Private is the most restrictive, whereas public is the least restrictive. There is no real difference among protected and the default type (also called as package protected) within the context of the similar package, though the protected keyword permits visibility to a derived class in a different package.