title: Usage patterns for private, static, final, public, abstract keywords in java
body: <p>I know <em>what</em> all of these do except for abstract.  I'm currently in the process of teaching myself java with what I consider a middle-school-level education (my highschool was in a bad neighborhood so I got shafted)...</p>
  
  <p>But what exactly are the usage patterns for these keywords?  When do I use what?  When do I omit them?  Putting 'public' in front of my classes makes every class that uses it require a new file, can I just omit that if I want to create a monolithic source file?</p>
  
  <p>Every bit of information I look up, explains exactly WHAT these do, just doesn't give a clear view of when/why/where I should use them.</p>
  
  <p>Thanks in advance,
  Anthony</p>