title: 'final' modifier on a class in Java
body: <p>I have a quick and simple question. I have a habit of making every class 'final' unless of course, it needs to be extended by another.</p>
  
  <p>Is this a bad habit? A good habit? Does it even matter?
  I understand the effect of the modifier to a class.</p>
  
  <p>Thanks a lot in advance!</p>
  
  <p>Edit:
  Here is an example code. This class will not be extended by any other classes.</p>
  
  <pre><code>public final class Application {
  
      /**
       * Starts the application.
       * 
       * @param arguments arguments provided from command-line
       */
      public static void main(String[] arguments) {
          LaunchUtilities util = new LaunchUtilities(new EventHandler());
  
          try {
              util.addListener(43594);
          } catch (IOException ioe) {
              Logger.getLogger(Application.class.getName()).log(Level.SEVERE, "Could not bind a port to a listener!", ioe);
          }
  
          util.start();
      }
  }</code></pre>