Question: what is the difference between static and public in java?
Answer: Static methods need to have no effect on the state of the object. They can have local variables in addition to the parameters. public: Public declared items can be accessed everywhere. protected: Protected limits access to inherited and parent classes (and to the class that defines the item).