normalement je mets en œuvre mes runnables comme suit (classe interne directement mis en œuvre):Java Direclty de classe interne implémenté avec Parameter Constructor?
Runnable updateRunnable = new Runnable() {
public void run() {
}
}
Est-il possible de travailler en Java pour implémenter la classe en passant des paramètres dans le constructeur comme suit?
Runnable updateRunnable = new Runnable(locale) {
Locale locale = null;
public Runnable(Locale locale){
this.locale = locale
}
public void run() {
}
};
==> Mon but est d'avoir une classe interne directement implémentée mais je veux passer un paramètre. Quelle est la meilleure solution pour faire cela (l'exemple ci-dessus ne semble pas fonctionner ????) Est la seule possibilité de travailler avec des fixateurs getter ou d'implémenter la classe comme une classe interne "normale" (ce n'est pas direclty implémenté).
merci beaucoup! janvier
bonjour jjnguy, merci beaucoup pour votre solution utile! jan – jan
Ouais! Aucun problème. Heureux de vous aider. – jjnguy
En fait, il n'est pas nécessaire d'utiliser un champ local pour cela. Vous pouvez accéder à la variable 'locale' directement à partir de la méthode' run'. Si ma mémoire ne me manque pas, elle deviendra alors un champ implicite dans l'objet 'Runnable', ajouté par le compilateur. – gustafc