-
只有一个实例的类,就是一个单例
-
不能自定义构造方法
-
可以实现接口、继承父类
-
本质上就是单例模式最基本的实现
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("")
}
通过