Tag: 超级

超类方法的引用方法

如何使用方法引用来引用超类方法? 在Java 8中,您可以执行SubClass.super::method 。 Kotlin的语法是什么? 期待你的回复! 结论 感谢Bernard Rocha! 语法是SubClass::method 。 不过要小心。 在我的情况下,子类是一个泛型类。 不要忘记宣布这样的: MySubMap<K, V>::method 。 编辑 它在Kotlin仍然不起作用。 她是一个超级类方法引用的Java 8中的例子: public abstract class SuperClass { void method() { System.out.println("superclass method()"); } } public class SubClass extends SuperClass { @Override void method() { Runnable superMethodL = () -> super.method(); Runnable superMethodMR = SubClass.super::method; } } […]

Android Kotlin Extension超级通话

我是一个Java Android开发人员,我正在接近Kotlin 我已经定义了以下类: open class Player : RealmObject() { … } 我定义了以下两个扩展,一个用于通用RealmObject类,另一个用于特定的Player类: fun RealmObject.store() { Realm.getDefaultInstance().use { realm -> realm.beginTransaction() realm.copyToRealmOrUpdate(this) realm.commitTransaction() } } fun Player.store(){ this.loggedAt = Date() (this as RealmObject).store() } 我想要的是,如果我在任何RealmObject对象上调用RelamObject.store()则将调用RelamObject.store()扩展名,但是如果我在Player实例上调用RelamObject.store()将被调用的扩展名将是Player.store() 。 (现在没问题)我不想复制粘贴相同的代码,我喜欢写更少的重用。 所以我需要在内部的Player.store()将调用通用的RealmObject.store() 我知道了。 我写在那里的代码实际上按预期工作:D 我所问的是(仅仅因为我个人直觉而写的): 这是好方法吗? 还是有更好的办法? 谢谢