在Kotlin中实例化对象时如何覆盖方法?

在Java中,为了在实例化新对象时覆盖方法,我们可以这样做

public ActivityTestRule<MainActivity> rule = new ActivityTestRule<MainActivity>( MainActivity.class) { @Override protected void beforeActivityLaunched() { // implement code super.beforeActivityLaunched(); } }; 

在Kotlin如何做到这一点? 我试过这个代码,但没能编译。

 @Rule @JvmField var rule = ActivityTestRule<MainActivity>(MainActivity::class.java) { override fun beforeActivityLaunched() { super.beforeActivityLaunched() } } 

如果你想创建匿名内部类,你应该使用object

 var rule = object : ActivityTestRule<MainActivity>(MainActivity::class.java) { override fun beforeActivityLaunched() { super.beforeActivityLaunched() } } 

另请参见对象表达式和声明 。