在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() } }
另请参见对象表达式和声明 。