博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kotlin半生对象_Kotlin程序| 随播对象特征
阅读量:2531 次
发布时间:2019-05-11

本文共 1796 字,大约阅读时间需要 5 分钟。

kotlin半生对象

伴侣对象 (Companion object)

  • 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.

    伴随对象是单例。

Kotlin中的伴随对象特征程序 (Program for companion object features in Kotlin)

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/

你可能感兴趣的文章
小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-02 Netflix开源组件断路器
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-01分布式核心知识之熔断、降级
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上...
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-01 微服务网关介绍和使用场景
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_5-08 断路器监控仪表参数
查看>>
小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-1.快速搭建SpringBoot项目,采用Eclipse...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-4.在线教育后台数据库设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-3.热部署在Eclipse和IDE里面的使用...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-3.在线教育站点需求分析和架构设计...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-4.后端项目分层分包及资源文件处理...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-2.快速搭建SpringBoot项目,采用IDEA...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-6.微信扫码登录回调本地域名映射工具Ngrock...
查看>>
小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_5-8.用户模块开发之保存微信用户信息...
查看>>
Linux下Nginx安装
查看>>