Kotlin文件与类。有什么不同?

问题描述 投票:28回答:5

刚开始使用Kotlin并创建了一些活动作为Kotlin文件。他们工作,但我仍然想知道创建文件和类之间的区别。

kotlin
5个回答
14
投票

icon Kotlin类:如果文件只包含一个类,则Android Studio不显示扩展名。

与Java不同,Kotlin允许您将某些内容放在类外:

  • 扩展功能
  • 常量

因此,如果您将任何上述或其他类添加到文件中,Android Studio会将其更改为“Kotlin File”:

icon,扩展名为.kt

删除上述附加内容,将再次将文件显示为“Kotlin Class”


37
投票

唯一的区别是创建文件会创建一个没有类的文件,创建一个类会创建一个包含一个类的文件。然后,您可以向该文件添加更多类,或删除类,或进行任何其他更改 - 最终结果不依赖于文件的创建方式。


1
投票

我可以看到Kotlin文件里面有很多类但是Kotlin类有一个具有该名称的类,但这只是一个观察。


1
投票

是的,如果您定义了多个类,它将自动转换为文件,否则它将自动转换为类。通常我认为如果你需要定义一些可以直接引用的变量或方法,你可以把它们放在文件中。


1
投票

以下是官方Documentation的答案:

如果Kotlin文件包含单个类(可能具有相关的顶级声明),则其名称应与类的名称相同,并附加.kt扩展名。如果文件包含多个类或仅包含顶级声明,请选择描述文件所包含内容的名称,并相应地命名该文件。使用带有大写首字母的驼峰(例如ProcessDeclarations.kt)。

文件名应该描述文件中的代码。因此,您应该避免在文件名中使用无意义的单词,例如“Util”。

所以基本上一个文件可以 - 例如 - 包含只有(辅助)函数而没有任何类声明。


推荐问答