1. (from wikipedia) Object-oriented programming (OOP) is a programming paradigm that uses "objects" ? data structures consisting of datafields and methods together with their interactions ? to design applications and computer programs... http://en.wikipedia.org/wiki/Object-oriented_programming
2. void is a type placeholder for methods that indicates they have no return value.
3. private means that the object/primitive can only be accessed within its local context (class or package)
4. protected means means that the object/primitive can only be accessed within its local context (class or package) or within any classes that subclass the class the variable is declared within.
These are all fairly fundamental questions, try purchasing any introduction to Java textbook for further details