2014-05-01 2 views
0

Existe-t-il un moyen de générer automatiquement du code lors de la déclaration anonyme d'une nouvelle instance de classe abstraite, merci d'avance.Récupère le code de la méthode overriden dans la déclaration anonyme

Voici un exemple:

Ma classe abstraite:

public abstract class MySqlQueryHelperCallback { 

    /** 
    * 
    * @param rs ResultSet for precedent sql request 
    */ 
    protected void queryResult(ResultSet rs) 
    { 
     try 
     { 
      while (rs.next()) 
      { 
       //Whatever 
      } 
     } catch (SQLException e) 
     { 
      e.printStackTrace(); 
     } 
    }; 
} 



Qu'arrive-t-il lorsque je crée une instance anonyme:

test.executeQuery("SELECT * FROM visiteur", new MySqlQueryHelperCallback() { 
    @Override 
    protected void queryResult(ResultSet rs) 
    { 
     super.queryResult(rs); 
    } 
}); 



Ce que je voudrais arrive:

test.executeQuery("SELECT * FROM visiteur", new MySqlQueryHelperCallback() { 
    @Override 
    protected void queryResult(ResultSet rs) 
    { 
     try 
     { 
      while (rs.next()) 
      { 
       //Whatever 
      } 
     } catch (SQLException e) 
     { 
      e.printStackTrace(); 
     } 
    }; 
}); 
+0

Cela ne sera pas possible avec seulement Java. S'il y a un moyen de faire ce travail, ce sera avec votre IDE, donc je vous suggère de modifier cela. –

+0

vous pouvez faire 'any' dans une méthode abstraite. L'implémentation anonyme doit donc implémenter cette méthode sans surcharger queryResult. –

+0

putain, je pense qu'il y a un autre moyen de le faire –

Répondre

1

Le langage Java ne prend pas en charge la génération automatique. Au contraire, la génération automatique est/serait implémentée par un outil tel que votre EDI. Donc, ce que vous devriez faire est de regarder les mécanismes de votre IDE pour générer automatiquement du code. Cela dépendra de l'IDE que vous utilisez. Par exemple, dans Eclipse, vous pouvez définir des modèles de code personnalisés pour faire ce genre de chose.

+0

Merci pour votre réponse @StephenC –

Questions connexes