The private keyword means that only instances of that class have access to the method or variable. This is useful when you want to maintain control over who and what has access.
Protected means that only classes in the same package and sub-classes have rights to access.
Public means that anyone can gain access to method/variable if they have an instance of said class.
The static keyword binds a variable to the Object type and not to an instance of a particular class. Meaning that two instances of a class will always have the same value for a static variable. You do not need to instantiate a class in order to use static methods/variables.







