title: main method as final in java
body: <p>I saw this code in one of the certification exams:</p>
  
  <pre><code>public class SimpleClass 
  {
      int num;
      final static void main(final String args[])
      {
          String s1="new";
          String s2="String";
          String s3="Creation";
          System.out.println(s1+s2+s3);
      }
  }
  </code></pre>
  
  <p>I  know  that  final  methods  are  ones  which  are  not  possible  to  override.  I  also  know  that  if  the  usual  signature  of  the  <code>main</code>  method is  altered,  it  will  be  treated  as  any  other  ordinary  method  by  the JVM, and  not as <code>main()</code>.  </p>
  
  <p>However,  the  options  given  to me  were:</p>
  
  <pre><code>1&gt;  Code  won't  compile
  2&gt;  Code  will  throw  an  exception
  3&gt;  will  print  newStringCreation.
  </code></pre>
  
  <p>It's  not  possible  to  run  this  program  on  eclipse  IDE.  Can  anyone  explain  what  should  be  the  answer  and  why?</p>
  
  <p><strong>Ok  let  me  put  my  question  like  this - When  I  execute  my  program, what  will  happen?  Which of the 3 options above  should  I  choose?</strong></p>