En Java, pour remplacer la méthode lors de l'instanciation d'un nouvel objet, nous pouvons le faire
public ActivityTestRule<MainActivity> rule = new ActivityTestRule<MainActivity>(
MainActivity.class) {
@Override
protected void beforeActivityLaunched() {
// implement code
super.beforeActivityLaunched();
}
};
Comment faire ça à Kotlin? J'ai essayé ce code mais il n'a pas pu être compilé.
@Rule @JvmField
var rule = ActivityTestRule<MainActivity>(MainActivity::class.Java) {
override fun beforeActivityLaunched() {
super.beforeActivityLaunched()
}
}
Si vous souhaitez créer une classe interne anonyme, vous devez utiliser object
.
var rule = object : ActivityTestRule<MainActivity>(MainActivity::class.Java) {
override fun beforeActivityLaunched() {
super.beforeActivityLaunched()
}
}
Voir aussi Expressions et déclarations d'objets .