【18】kotlin object

六眼飞鱼酱① 提交于 2020-07-24 22:29:35
  • 只有一个实例的类,就是一个单例

  • 不能自定义构造方法

  • 可以实现接口、继承父类

  • 本质上就是单例模式最基本的实现

kt 用object修饰的类 就相是一个单例模式

object MusicPlayer {}

 

等价于java的这段代码

package com.yzdzy.kotlin.chapter4.objects;

public class MuicPlayerJava
{
    public static MuicPlayerJava INSTANCE=new MuicPlayerJava();
    public MuicPlayerJava(){}
}

 可以在编译器双击shift后。输入show k

打开右边的对应编译的java代码中看到类似于上面的java代码参考 

 

--------------------------

 

objects.kt代码参考

package com.yzdzy.kotlin.chapter4.objects

class Driver
interface OnExternalDriverMountListerner {
    fun onMount(driver: Driver)
    fun onUnmount(driver: Driver)
}

abstract class Player
object MusicPlayer : Player(),OnExternalDriverMountListerner {
    var state: Int = 0
    fun play(url: String) {}
    fun stop() {}
    override fun onMount(driver: Driver) {
        TODO("Not yet implemented")
    }

    override fun onUnmount(driver: Driver) {
        TODO("Not yet implemented")
    }
}

fun main(args: Array<String>) {
    MusicPlayer.play("")
}

通过

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!