在kotlin中添加受保护的和内部的可见性



我有一个open(或abstract)publicclass,其中包含open(或abstract)fun(或varval),我不想暴露为public

不幸的是,我还需要从当前包中调用fun。如果我将它标记为internal,这个类不能从另一个包中正确继承(ide给出警告:继承不可见的抽象成员),如果我将它标记为protected,则不能从当前包内部访问乐趣

有办法绕过这个吗?

肮脏的方法是添加代理内部方法并在包中调用该方法:

abstract class AbstractClass {
protected abstract fun isTrue(int: Int): Boolean
internal fun isTrueInternalProxy(int: Int): Boolean {
return isTrue(int)
}
}

最新更新