title: Why things are so different in a driver class ("static void main") and a class definition?
body: <p>I know some of the terms I use are confusing. To clarify, a driver class is basically one built on a class definition (starting with public class...) but is a method itself with the header <strong>public static void main (String args[])</strong>.</p>
  
  <p>The point of this post is to resolve my <strong>serious</strong> confusion. (I am a beginner in programming)</p>
  
  <p><strong>to me</strong>, since a driver class is a method, all it does is to implement itself. But things kinda turn out to be the opposite . For example:</p>
  
  <blockquote>
    <p>to implement a constructor in a driver class, you simply put down the constructor heading, like public Rectangle(), with its name being the same as that of the class. <strong>but</strong> in a class definition, to creat a object/ implement a constructor, you also have to write down happen inside that constructor, so you use the expression "type name = new type name ()".</p>
  </blockquote>
  
  <p>PS: I might have used some terms  wrongly, correct me thanks. Or some concept</p>