Kotlin中包私有访问修饰符的替代方案
大家好!我最近从Java转到Kotlin,遇到了一个问题。在Java中,我经常使用包私有访问修饰符(默认,当不指定public/private/protected时),以便同一个包内的类可以访问彼此的方法和字段,同时这些成员对外部世界隐藏。这对于组织模块的内部逻辑非常方便。
在Kotlin中没有这样的修饰符。有`internal`,它在模块级别(所有一起编译的文件)工作,但对于我的需求来说可见性太宽了。我需要将可见性限制在单个包内(或者用Kotlin的术语来说,单个源目录/文件夹)。
以下是我想要迁移到Kotlin的Java示例:
```java
// 文件: com/example/database/DatabaseHelper.java
package com.example.database;
class DatabaseHelper { // 包私有类
void connect() { // 包私有方法
System.out.println("Connecting...");
}
}
```