Ich versuche, in Java zu erweitern, eine Kotlin Klasse zu delegieren und erhalten den folgenden Fehler:Kann ich in Java eine Delegationsklasse für Kotlin erweitern?
Cannot inherit from final 'Derived'
Siehe Code unten.
Was ich versuche zu tun, ist eine Methode einer Klasse zu dekorieren.
Haben Sie eine Idee, warum Kotlin Derived
als endgültig definiert? Gibt es einen Weg für Derived
nicht endgültig zu sein, damit ich es erben kann?
Java:
new Derived(new BaseImpl(10)) { // Getting the error on this line: `Cannot inherit from final 'Derived'`
};
Kotlin:
interface Base {
fun print()
}
class BaseImpl(val x: Int) : Base {
override fun print() { print(x) }
}
class Derived(b: Base) : Base by b
* Beispiel von hier: https://kotlinlang.org/docs/reference/delegation.html