Java 类如何扩展 Kotlin 库

Sla*_*ava 0 java class extend kotlin

Java 类如何扩展 Kotlin 库?

我明白所有 kotlin 类都是最终的。

我有库,我需要重写一些方法。但是当我扩展库时,我收到错误

public class Editor extends EditorLibrary //error Cannot inherit from final
Run Code Online (Sandbox Code Playgroud)

有机会延长 kotlin 最后一堂课吗,因为我无法将其更改为开放?

Yon*_*din 5

如果您可以控制库,则可以使用open关键字打开用于扩展的类,否则,正如您所提到的,该类不是为扩展而构建的...

open EditorLibrary(...) {
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您可能会考虑使用组合而不是继承...例如:

public class Editor {
    private final EditorLibrary editor;
    
    ...
}
Run Code Online (Sandbox Code Playgroud)