I know C/C++/C#/ActionScript/PHP and have worked in all of them. As per my Knowledge we generally initialize object as
Object obj = new Object();
Java does the same most of the times but yesterday while working with Netbeans and JTable swing control, IDE generated this code which kind of looks a bit strange to me. Any explanation of how is it initializing an object? What's the {..} part after new DefaultTableModel(..)?
_model = new DefaultTableModel(
     new Object [][] {
     },
     new String [] {
         "Id", "Project Title", "Start Date", "Deadline", "Description", "PercentDone"
     }) {
         Class[] types = new Class [] {
             java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
         };
         boolean[] canEdit = new boolean [] {
             false, false, false, false, false, false
         };
         @Override
         public Class getColumnClass(int columnIndex) {
              return types [columnIndex];
         }
         @Override
         public boolean isCellEditable(int rowIndex, int columnIndex) {
             return canEdit [columnIndex];
         }
     };