Avatar ·

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..."); } } ```