Tag: 内部

返回内部类的调用对象函数

我正在使用Kotlin进行测试,并且正在编写一个小型库,以供测试App项目导入和使用。 在图书馆项目中,我将我的类标记为internal类,因为我不希望它们对于App项目是可见的,但是我希望为该类库提供一个入口点,为此我使用如图所示的Kotlin object下面 LIBRARY object Library { fun getComponent() = AwesomeComponent() } internal class AwesomeComponent() { // some implementation } TEST APP class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val component = Library.getComponent() } } 问题是这不能编译,因为Library object的函数返回一个internaltypes,因此也需要标记为internal,但是这样做会隐藏TestApp的函数。 另一个选择是根本没有internal修饰符,所以TestApp可以看到Library方法,但是它也可以看到Library项目中的类 在这里我忽略了一个简单的解决方案,还是需要重新规划图书馆项目的包装和结构? (不知道如何做到这一点)