本文共 1796 字,大约阅读时间需要 5 分钟。
kotlin半生对象
If you need a function or a property to be tied to a class rather than to instances of it (similar to static in java), you can declare it inside a companion object:
如果需要将函数或属性绑定到类而不是实例(类似于java中的static),则可以在同伴对象中声明它:
You can omit the name, in which case the name defaults to Companion,
您可以省略名称,在这种情况下,名称默认为Companion,
companion object{ //Companion Object Body}
Companion objects members can only be accessed via the containing class name, not via instances of the class.
伴侣对象成员只能通过包含的类名称访问,而不能通过类的实例访问。
A class has only one companion object.
一个类只有一个伴随对象。
Companion object initializes when class is loaded, (typically when first time reference from other code).
伴侣对象在加载类时初始化(通常是在第一次从其他代码引用时)。
Companion object has its own init block.
伴随对象具有其自己的init块。
The companion object is a singleton.
伴随对象是单例。
package com.includehelp//Declare classclass Car{ //class init block init { println("Init Block of Class") } //Make companion object companion object { //companion object init block init { println("Init Block of Companion object") } //property of companion object val name="Tata Altroz !! " //function in companion object fun printName(){ println("Your Car name : $name") } }}//Main Function, Entry Point of Programfun main(){ //Call method with Class name, //without create Instance of class, //like static method in java Car.printName() //access Property using class name val nameLen = Car.name.length println("Car Name Length : $nameLen")}
Output:
输出:
Init Block of Companion objectYour Car name : Tata Altroz !! Car Name Length : 15
翻译自:
kotlin半生对象
转载地址:http://svtzd.baihongyu.com/