Intellij idea 实用程序类的内部对象?
我使用IntelliJ的Kotlin到Java转换工具将Java实用程序类(所有类方法都是静态的,不能实例化)转换为Kotlin IntelliJ创建了以下表单的内部对象:Intellij idea 实用程序类的内部对象?,intellij-idea,kotlin,companion-object,Intellij Idea,Kotlin,Companion Object,我使用IntelliJ的Kotlin到Java转换工具将Java实用程序类(所有类方法都是静态的,不能实例化)转换为Kotlin IntelliJ创建了以下表单的内部对象: internal object MyObject { const val FIELD1: String = "constant string" fun myStaticFn(): String { return "hi" } } 这与使用伴生对象创建类有何不同?我同意JB Ni
internal object MyObject {
const val FIELD1: String = "constant string"
fun myStaticFn(): String {
return "hi"
}
}
这与使用伴生对象创建类有何不同?我同意JB Nizet的说法,即避免创建不必要的类,还有一个好处是使用
内部
,这意味着您不会公开该实用程序类,以防您的项目被用作其他项目的依赖项。当然,在某些情况下,您希望有一个包含一些有用实用程序方法的库,在这种情况下,您可以删除内部
修饰符,但在许多其他情况下,最好只提供漂亮干净的API,同时隐藏您正在使用的实用程序方法。,它不会创建带有伴生对象的类所具有的不必要的类。