美文网首页KotlinKotlin开发经验Kotlin开发知识
白话kotlin: 简单的理解 关键词object

白话kotlin: 简单的理解 关键词object

作者: linheimx | 来源:发表于2017-07-25 09:39 被阅读298次

    前言

    在编写代码的过程中,我们常用面向对象的思维来组织与处理问题。

    于是就有了类与对象的概念。
    根据类的描述,我们可以实例化一个对象。

    匿名类的实例化

    直接说一个我们常见的回调:给一个按钮加上点击的监听事件
    步骤:

    1. 创建类,这个类描述了在回调的时候,你需要做哪些事情。
    2. 根据刚才创建的类来创建一个对象。

    在Java中,我们使用匿名内部类可以这么写:


    匿名类

    在Kotlin中,我们可以这么写:

    匿名类

    从以上来看,kotlin中的object关键词java中的new差不多。

    除此之外,kotlin中的object还可以这么写:

    1. 一个对象,有多个父亲的写法


      熊掌鱼
    1. 一个对象,没有父亲的写法


      简单的对象

    说了那么多,总结一下。
    针对匿名类而言,kotlin中的object关键词java中的new关键词是差不多的。

    单例

    所谓单例,就是内存中,只有这个类的唯一的一个对象。
    单例是个很有用的模板,Java要写一堆代码,Kotlin则非常简单,如下:

    object声明单例

    我们可以这样使用:

    RxBus.post(1)
    

    由单例而引发的血案

    由于kotlin中没有static关键词,也就是没法定义类的静态字段,静态方法
    但是我们可以这么想:类的静态字段,静态方法属于类的,在内存中只有一份,完全可以用单例来代替

    一个类的常量,我们可以这么玩

    我们也可以在类的内部这么定义:


    定义

    这么访问


    访问

    访问的话,我们多写了一个类的名字:School.Contants.name

    我们想更加简单的这么写:School.name怎么办?

    companion object

    再简单一点:

    companion object

    白话kotlin系列

    1. 白话kotlin:向空指针异常说再见
    2. 白话kotlin:lambda表达式和高阶函数是什么玩意?
    3. 白话kotlin:内联函数助你提升运行效率
    4. 白话kotlin:用协程来愉快的处理异步问题
    5. 白话kotlin:有意思的拓展
    6. 白话kotlin:简单的理解 关键词object

    相关文章

      网友评论

        本文标题:白话kotlin: 简单的理解 关键词object

        本文链接:https://www.haomeiwen.com/subject/esfwkxtx.html