title: What exactly does a jar file contain?
body: <p>As an intern, I use company code in my projects and they usually send me a <code>jar</code> file to work with. I add it to the build <code>path</code> in <code>Eclipse</code> and usually all is fine and dandy.</p>
  
  <p>However, I got curious to know, what each class contained and when I try to open one of the classes in the <code>jar</code> file, it tells me that I need a source file.</p>
  
  <p>What does this mean? I come from a <em>C/C++</em> background so is a <code>jar</code> similar to an already compiled <code>.o</code> file and all I can see is the <code>.h</code> stuff? Or is there actual code in the <code>jar</code> file that I'm using that's encrypted so I can't read it?</p>
  
  <p>Thanks for all the answers!</p>
  
  <p><strong>Edit:</strong><br/> Thanks, guys, I knew it was a sort of like an archive but I was confused to why when I tried to open the <code>.class</code> files, I got a bunch of random characters. The output was similar when I tried to open a <code>.o</code> file in C so I just wanted to make sure.<br/>
  Thanks!</p>