1.将变量和方法写在这个伴生对象中,外部就直接可以类名+点 调用。
2.但实际上在运行时,这些成员仍然是真实对象的实例的成员。
属性修饰符解释:
1. const val :公共常量 ,且 const只能修饰 val
2. val :私有常量
class Constant { companion object { const val NAME= "-深海呐" fun getName(){ } } }相对优势:
1.底层实现与JAVA静态无异
2.Java与Kotlin混合开发时,Java代码中可直接类名+点 调用
class Constant { companion object { @JvmField val NAME= "-深海呐" //不可以用const val @JvmStatic fun getName(){ } } }