gpt4 book ai didi

java - Kotlin 中的包等效可见性修饰符

转载 作者:IT老高 更新时间:2023-10-28 13:45:44 28 4
gpt4 key购买 nike

我正在编写一个使用工厂模式的程序。我有一个名为 AssetFundCalculator 的接口(interface)和一个名为 AssetFundCalculatorImpl 的类,它实现了该接口(interface)。

AssetFundValidator 类验证一些输入,并能够实例化一个有效的 AssetFundCalculatorImpl

我希望程序的其余部分只知道接口(interface),而不知道 AssetFundCalculatorImpl,这样只有 AssetFundValidator 可以实例化它。

我的包结构是这样的:

enter image description here

在 Java 中,我会给 AssetFundCalculatorImpl 类或它的构造函数提供包可见性修饰符,这样可以解决问题,但在 Kotlin 中,没有包可见性修饰符。

有解决办法吗?我不想把这段代码放到单独编译的模块中,所以 internal 修饰符不起作用。

最佳答案

您可以将AssetFundValidatorAssetFundCalculatorImpl放在同一个文件中,并将AssetFundCalculatorImpl标记为private。在这种情况下,它只能被同一文件中的代码访问,包括 AssertFundValidator,但不能被程序其他部分的任何代码访问。

关于java - Kotlin 中的包等效可见性修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35550395/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com